ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comความรู้ทั่วไปAmazonแสดง node, asin ใน amazon.com by GreaseMonkey
หน้า: [1] 2 3 4   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: แสดง node, asin ใน amazon.com by GreaseMonkey  (อ่าน 19769 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
raptor
ก๊วนเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 280



ดูรายละเอียด
« เมื่อ: 21 มกราคม 2010, 20:14:26 »

จากกระทู้หา node amazon นะครับ -> http://www.thaiseoboard.com/index.php/topic,98827
และจากกระทู้เก็บ list url จาก google นะครับ -> http://www.thaiseoboard.com/index.php/topic,98160
ผมเขียน script greasemonkey ไว้ พอดีเลยขอเอามา post ลงไว้นะครับ

ก่อนอื่นต้องใช้ firefox ครับ และลง plugin GreaseMonkey ของ firefox ที่นี่ -> https://addons.mozilla.org/en-US/firefox/addon/748
restart firefox พร้อมใช้แล้วสร้าง script ตามนี้
คลิกขวาที่ icon ลิงตรงมุมล่างขวาเลยครับแล้วเลือก
> New User Script... จะขึ้น popup ขึ้นมา
ตรงช่อง Name ใส่ว่า   amazon_node_asin   (หรือชื่ออื่นก็ได้แล้วแต่)
ตรงช่อง Includes (One per line) ใส่ว่า
โค๊ด:
http://www.amazon.*
แล้วกด ok มันจะเปิด editer ให้ครับพร้อมมี code ส่วนหัวให้ด้วย ให้ก็อป code ต่อไปนี้ไปทับได้เลยครับ ตามนี้
โค๊ด:
// ==UserScript==
// @name           New_Amazon_ASIN_NODE
// @namespace      http://www.thaiseoboard.com/
// @description    Show ASIN, NODE from Amazon
// @include        http://www.amazon.*
// @require        http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js
// @icon           http://www.thaiseoboard.com/Themes/thaiseoboard_rev2009/images/on.gif
// ==/UserScript==

(function() {
   // short link node   http://www.amazon.com/b/?node=3733851&page=1
   // short link asin   http://www.amazon.com/dp/B000BK9BXG/?tag=abc-20

   function substrc(str, from, to){
      var start, end;
      start = str.indexOf(from);
      if(start < 0) start = 0;
      else start = start + from.length;
      end = str.lastIndexOf(to);
      if(end < 0) end = str.length;
      return str.substring(start, end);
   }   
   function substrcll(str, from, to){
      var start, end;
      start = str.lastIndexOf(from);
      if(start < 0) start = 0;
      else start = start + from.length;
      end = str.lastIndexOf(to);
      if(end < 0) end = str.length;
      return str.substring(start, end);
   }   
   
   function amazon_getasin(){
      var data = new Array();   // data[].asin, data[].name
      var select = ".productTitle";
      if($(select).length <= 0) select = ".title";
      $(select).find("a:first").each(function(i){
         var asin, name;
         asin = $.trim($(this).attr("href"));
         asin = substrc(asin, "/dp/", "/ref=");
         name = $.trim($(this).attr("href"));
         name = substrc(name, "amazon.com/", "/dp/");
         name = name.replace(/-/g, "+");
         var newdata = {};
         newdata.asin = asin;
         newdata.name = name;
         data.push(newdata);
      });
      return data;
   }
   function amazon_showasin(asin){
      var select = ".productTitle";
      if($(select).length <= 0) select = ".title";
      $(select).find("a:first").each(function(i){
         if(i<asin.length){
            googlestr = "http://www.google.com/#hl=en&gl=us&source=hp&q=" + asin[i].name + "&num=10&aq=f&fp=e8d6ef47431c6a4a";
            str = " [" + asin[i].asin + "]";
            str += ' <a href="' + googlestr + '">[GG]</a>';
         }
         str = "<span class='amazon_asin_process'>" + str + "</span>";
         $(this).after(str);
      });
   }
   function amazon_getnode(){
      var data = new Array();   // data[](node) // thisnode = data[data.length-1]
      var thisnode;
      $("h1#breadCrumb a").each(function(i){
         var node = "";
         node = $.trim($(this).attr("href"));
         node = substrcll(node, "n%3A", "&ie=");
         if(node.indexOf("=")>0) node = substrc(node, "", "&bbn");
         data.push(node);
      });
      thisnode = $("form#hms-response-form input:first").val();
      data.push(thisnode);
      return data;
   }
   function amazon_shownode(node){
   $("h1#breadCrumb a").each(function(i){
         if(i<node.length){
            str = "[" + node[i] + "]";
         }
         str = "<span class='amazon_node_process'>" + str + "</span>";
         $(this).after(str);
      });
      str = "[" + node[node.length-1] + "]";
      str = "<span class='amazon_node_process'>" + str + "</span>";
      $("h1#breadCrumb").append(str);
   }
   
   function amazon_asin_process(){
      if($("span.amazon_asin_process").length<=0){
         var asin = amazon_getasin();
         amazon_showasin(asin);
      }
   }
   function amazon_node_process(){
      if($("span.amazon_node_process").length<=0){
         var node = amazon_getnode();
         amazon_shownode(node);
      }
   }
   function main(){
      setInterval(amazon_asin_process, 2000);
      setInterval(amazon_node_process, 2000);
   }
   main();
})();

GM_registerMenuCommand("New_Amazon_ASIN_NODE", function(){
   alert("...");
});
เสร็จแล้ว save แล้วปิด editer ไป
กลับมาที่ firefox ให้ set GreaseMonkey ให้มัน enabled นะครับ
แล้วเข้า amazon.com ดูครับ มันจะแสดง node กับ asin ให้ดู จบ...

ข้าง ๆ asin จะเห็น [GG] เพิ่มขึ้นมาด้วย เป็นการสร้าง link ไป google ครับ เป็นอีกแนวความคิดในการเก็บข้อมูลครับ
โดยในกระทู้ที่แล้วเป็นการเก็บแบบทั้งหน้า แต่อันนี้เป็นการเก็บแบบ item ที่เลือก แล้วส่งไป link ที่ต้องการ(ส่งไปเก็บที่เว็บเราเองก็ได้)
(( สำหรับผมนั้นทำให้เกิดแนวความคิดวิชามารขึ้นมาเลยครับแต่ยังไม่ได้ทำนะครับ เช่น สร้าง link ให้ส่ง asin เป็น ajax cross domain ไป localhost lp.php เอาไปดึงข้อมูล xml มาสร้าง my_item_page แล้วส่ง xmlrpc ไปที่เว็บ wp ของเราได้เลย [post เสร็จใน click เดียว!!!] ))

หมายเหตุ
- ใช้กับ amazon.com เท่านั้น // แก้ไขใหม่ใช้กับ .อื่น ๆ ก็ได้นะครับ
- แสดง node ใช้งานได้โดยเข้าจาก Shop All Departments -> Category แต่ถ้าใช้กับ Search หรืออื่น ๆ จะเพี้ยนบ้าง
- ตรง [GG] เป็นการส่ง คำที่ตัดจาก url ไม่ใช่คำจาก title ของสินค้า

ลองใช้วันที่ 2/11/2010 ตรงส่วน ASIN ใช้ไม่ได้แล้วครับ
คงเป็นเพราะ amazon.com ใช้การแสดงสินค้าด้วย ajax เลยใช้ไม่ได้เลยครับ

ลองใช้วันที่ 19/3/2011 แก้ไขส่วน ASIN ให้ใช้ได้
1.แก้ให้เพิ่ม setTimeout ให้รอ 2 วินาทีให้ amazon เรียก ajax เสร็จก่อนค่อยทำงาน
2.แก้จาก find(".productTitle") ไปเป็น find(".title") แทน
3.แก้ link ไป google เพิ่ม &gl=us เข้าไปให้เหมือนค้นหาจาก us

22/3/2011 แก้อีกทีครับ ให้ใช้กับ amazon.อื่น ๆ แก้ใน code
จาก
โค๊ด:
// @include        http://www.amazon.com/*
เป็น
โค๊ด:
// @include        http://www.amazon.*
เมื่อก่อน GM ไม่ได้ใช้ code ส่วนนี้ครับ จะใช้ตอนเรา create
ตรงช่อง Includes (One per line) ใส่ว่า
โค๊ด:
http://www.amazon.*
แต่เดี๋ยวนี้ GM จะอ่านตรงนี้ไปใช้เลย ซื่งสะดวกมาก จะแก้ไขเราก็แก้ใน code ได้เลย

29/3/2011 แก้ไข code ใหม่หมด ก็อปไปทับได้เลยครับ
version นี้ เขียน code ใหม่หมดเลยครับ ให้ตรงกับรูปแบบ GM version ใหม่ ๆ
และให้ code ดูสวยขึ้นด้วย และให้มีโอกาสเกิด bug น้อยลงด้วยครับ
ถ้าท่านที่ใช้อยู่เจอ bug (ร้ายแรง) ตรงไหนแจ้งทาง PM ได้เลยครับ
« แก้ไขครั้งสุดท้าย: 29 มีนาคม 2011, 17:03:50 โดย raptor » บันทึกการเข้า
thaiga
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 133
ออฟไลน์ ออฟไลน์

กระทู้: 1,875



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 21 มกราคม 2010, 20:41:52 »

พยายามทำตามแล้ว ไม่ได้อ่ะครับ

แล้วกด ok มันจะเปิด editer ให้ครับพร้อมมี code ส่วนหัวให้ด้วย ให้ก็อป code ต่อไปนี้ไปทับได้เลยครับ ตามนี้

ตรงนี้ัมันไม่เห็นเป็นอยย่างที่บอกเลยครับ  wanwan035
บันทึกการเข้า

raptor
ก๊วนเสียว
*

พลังน้ำใจ: 97
ออฟไลน์ ออฟไลน์

กระทู้: 280



ดูรายละเอียด
« ตอบ #2 เมื่อ: 21 มกราคม 2010, 21:31:03 »

ทำไมเป็นงั้นหว่า  wanwan006
แล้วมันสร้าง amazon_node_asin ให้หรือยังครับ

ลอง คลิกขวาที่ icon ลิงตรงมุมล่างขวาเลยครับแล้วเลือก
> Manage User Scripts...  จะขึ้น popup ขึ้นมา
มีรายการ amazon_node_asin ไหมครับ ถ้ามีลองเลือก แล้วเลือกปุ่ม Edit ข้างล่างดูครับ มันจะเปิด editer ให้
บันทึกการเข้า
thaiga
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 133
ออฟไลน์ ออฟไลน์

กระทู้: 1,875



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 22 มกราคม 2010, 00:25:18 »

เราต้องสร้างอะไรไว้ก่อนรึป่าวครับ เพราะมันเรียกหาไฟล์อะไรเนี่ยะแหละ แบบนี้ครับ

please choose your preferred text editor first

บันทึกการเข้า

ano
ก๊วนเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 386



ดูรายละเอียด
« ตอบ #4 เมื่อ: 22 มกราคม 2010, 00:54:29 »

ได้แล้วครับขอบคุณ


เหอ ๆ เทคนิคขั้นเทพจริง ๆ
ขอบคุณสำหรับของเล่นนี้ครับ..
มีทริกอะไรอีกก็แนะนำต่อได้เลยน่ะครับ.
หรือแนวทางที่พอจะทำประโยชน์ให้ได้มากกว่านี้


 wanwan017
บันทึกการเข้า

kornz
ก๊วนเสียว
*

พลังน้ำใจ: 63
ออฟไลน์ ออฟไลน์

กระทู้: 355



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 22 มกราคม 2010, 00:55:34 »

เราต้องสร้างอะไรไว้ก่อนรึป่าวครับ เพราะมันเรียกหาไฟล์อะไรเนี่ยะแหละ แบบนี้ครับ

please choose your preferred text editor first



ต้องเลือกโปรแกรม text editor ก่อนครับ browse ไปที่ตัวโปรแกรมเลย แล้วแต่ใครจะถนัดตัวไหน แต่ผมชอบ editplus ถ้าไม่ได้ลงโปรแกรมเพิ่มก็ notepad, wordpad ก็ได้ครับ
บันทึกการเข้า

ano
ก๊วนเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 386



ดูรายละเอียด
« ตอบ #6 เมื่อ: 22 มกราคม 2010, 00:57:53 »

เราต้องสร้างอะไรไว้ก่อนรึป่าวครับ เพราะมันเรียกหาไฟล์อะไรเนี่ยะแหละ แบบนี้ครับ

please choose your preferred text editor first



ต้องเลือกโปรแกรม text editor ก่อนครับ browse ไปที่ตัวโปรแกรมเลย แล้วแต่ใครจะถนัดตัวไหน แต่ผมชอบ editplus ถ้าไม่ได้ลงโปรแกรมเพิ่มก็ notepad, wordpad ก็ได้ครับ

ถูกต้องแล้วครับ
ถ้าในเครื่องไม่มี editplus
ก็ใช้ notepad นี่แหละครับ
ผมก็ใช้อยู่
โดยปกติ windows xp จะต้องชี้ไปที่
C:\WINDOWS\NOTEPAD.EXE
บันทึกการเข้า

thaiga
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 133
ออฟไลน์ ออฟไลน์

กระทู้: 1,875



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 22 มกราคม 2010, 03:13:13 »

ขอบคุณครับ
ทำได้แล้ว  wanwan002


เอ่อๆๆ แล้วมันใช่งานไงต่อครับ ผมหาไม่เจอ
มันจะโชว์ให้ ดูผลตรงไหนครับ วานบอกคนมึนๆโง่ๆแบบผมที wanwan009 wanwan009

โอยง่วง  wanwan035 wanwan035
บันทึกการเข้า

ano
ก๊วนเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 386



ดูรายละเอียด
« ตอบ #8 เมื่อ: 22 มกราคม 2010, 05:33:42 »

ขอบคุณครับ
ทำได้แล้ว  wanwan002


เอ่อๆๆ แล้วมันใช่งานไงต่อครับ ผมหาไม่เจอ
มันจะโชว์ให้ ดูผลตรงไหนครับ วานบอกคนมึนๆโง่ๆแบบผมที wanwan009 wanwan009

โอยง่วง  wanwan035 wanwan035




ลองดูลิงค์นี้ครับ จะเห็นมีเลขโหนด 165793011 
แล้วก็มี asin ต่อท้าย title ของแต่ละ product

อ้างถึง



บันทึกการเข้า

thaiga
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 133
ออฟไลน์ ออฟไลน์

กระทู้: 1,875



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 22 มกราคม 2010, 12:50:22 »

โอเคครับ ได้แล้ว

เมื่อคืนเครื่องที่บ้านไม่โชว์แฮะ

ตอนนี้ใช้เครื่องที่ออฟฟิต ใช้ได้

ขอบคุณครับ เจ๋งมาก  wanwan019
บันทึกการเข้า

wat007
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 148
ออฟไลน์ ออฟไลน์

กระทู้: 1,179



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 22 มกราคม 2010, 13:05:53 »

น่าจะมีปักหมุดกระทู้ grass monkey นะเนี่ยประโยชน์ทั้งนั้นเลย wanwan017
บันทึกการเข้า

ano
ก๊วนเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 386



ดูรายละเอียด
« ตอบ #11 เมื่อ: 22 มกราคม 2010, 13:58:53 »

เห็นด้วยครับ รบกวน mod ปักหมุด


อยากจะขอบคุณท่าน raptor ที่นำเสนอวิธีการดี ๆ แบบนี้ครับ
เป็นความช่างสังเกตของท่านจริง ๆ

ผมจะคอยติดตามผลงานต่อไปนะครับ

ขอบคุณครับ
 wanwan017
บันทึกการเข้า

noinoii
คนรักเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 167



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 23 มกราคม 2010, 17:19:56 »

อ้างถึง
ตรงช่อง Name ใส่ว่า   amazon_node_asin   (หรือชื่ออื่นก็ได้แล้วแต่)
ตรงช่อง Includes (One per line) ใส่ว่า
โค๊ด:

http://www.amazon.com/ *

แล้วกด ok มันจะเปิด


มันขึ้นมาว่า
อ้างถึง
Please provide a valid namespace URI for your script.
(e.g. "http://userscripts.org/users/useridnumber ")


 ทำไงครับ


บันทึกการเข้า
qiiiiiip
สมุนแก๊งเสียว
*

พลังน้ำใจ: 104
ออฟไลน์ ออฟไลน์

กระทู้: 531



ดูรายละเอียด
« ตอบ #13 เมื่อ: 23 มกราคม 2010, 20:57:05 »

มันจอร์ทมาก +1

ไม่เคยใช้ plug-in ตัวนี้มาก่อน สงสัยต้องลองศึกษาดูหน่อย ยังไงก็ขอบคุณที่นำวิธีการดีๆ มาฝาก
บันทึกการเข้า
ckseven
ก๊วนเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 218



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 23 มกราคม 2010, 21:28:41 »

อ้างถึง
ตรงช่อง Name ใส่ว่า   amazon_node_asin   (หรือชื่ออื่นก็ได้แล้วแต่)
ตรงช่อง Includes (One per line) ใส่ว่า
โค๊ด:

http://www.amazon.com/ *

แล้วกด ok มันจะเปิด


มันขึ้นมาว่า
อ้างถึง
Please provide a valid namespace URI for your script.
(e.g. "http://userscripts.org/users/useridnumber ")


 ทำไงครับ





อาการเดียวกัน  Tongue
บันทึกการเข้า

ano
ก๊วนเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 386



ดูรายละเอียด
« ตอบ #15 เมื่อ: 23 มกราคม 2010, 21:37:30 »

มันขึ้นมาว่า
อ้างถึง
Please provide a valid namespace URI for your script.
(e.g. "http://userscripts.org/users/useridnumber ")

 ทำไงครับ

อาการเดียวกัน  Tongue


ตั้งชื่อ namespace เลยครับ  ตั้งอะไรก็ได้เช่น  This is a book  น่าจะได้มั้ง..
หรือจะตั้งเหมือนตัวอย่างมัน  http://userscripts.org/users/useridnumber   นี่ก็ได้
แต่ผมตั้งว่า  AmazonNodeAsin   นะ จะลอกผมก็ได้

« แก้ไขครั้งสุดท้าย: 23 มกราคม 2010, 21:39:49 โดย ano » บันทึกการเข้า

sitan20
สมุนแก๊งเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 743



ดูรายละเอียด
« ตอบ #16 เมื่อ: 23 มกราคม 2010, 22:31:27 »

ขอบคุณครับ
ทำได้แล้ว  wanwan002


เอ่อๆๆ แล้วมันใช่งานไงต่อครับ ผมหาไม่เจอ
มันจะโชว์ให้ ดูผลตรงไหนครับ วานบอกคนมึนๆโง่ๆแบบผมที wanwan009 wanwan009

โอยง่วง  wanwan035 wanwan035




ลองดูลิงค์นี้ครับ จะเห็นมีเลขโหนด 165793011 
แล้วก็มี asin ต่อท้าย title ของแต่ละ product

อ้างถึง






ของผมไม่โชว์นะครับ
บันทึกการเข้า

bangteay
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 42
ออฟไลน์ ออฟไลน์

กระทู้: 903



ดูรายละเอียด เว็บไซต์
« ตอบ #17 เมื่อ: 01 กุมภาพันธ์ 2010, 16:30:02 »

แปลกจัง ก่อนหน้านี้ ยังโชว์อยู่เลย ของผมลองวันนี้ก็ไม่เห็นโชว์แล้วนะ่ครับ มันเกิดจากอะไรหว่า....
บันทึกการเข้า

ano
ก๊วนเสียว
*

พลังน้ำใจ: 95
ออฟไลน์ ออฟไลน์

กระทู้: 386



ดูรายละเอียด
« ตอบ #18 เมื่อ: 01 กุมภาพันธ์ 2010, 17:37:46 »

ของผมไม่โชว์นะครับ
แปลกจัง ก่อนหน้านี้ ยังโชว์อยู่เลย ของผมลองวันนี้ก็ไม่เห็นโชว์แล้วนะ่ครับ มันเกิดจากอะไรหว่า....

 Tongue 

เอ.. เป็นไรหว่า.
ผมใช้ FF 3.5.7
Enable javascript
Greasemonkey enabled 

เลือกสคริปส์ที่เราสร้างด้วยนะครับ
ด้วยการคลิ๊กขวาที่ icon ของ Greasemonkey มุมขวาล่างของบราวเซอร์
เลือก Manage User Scripts..
เลือกสคริปส์ที่ต้องการ
ติ๊กเลือก Enabled



บันทึกการเข้า

RichSoon
สมุนแก๊งเสียว
*

พลังน้ำใจ: 64
ออฟไลน์ ออฟไลน์

กระทู้: 900



ดูรายละเอียด เว็บไซต์
« ตอบ #19 เมื่อ: 01 กุมภาพันธ์ 2010, 19:00:08 »

ผมแปลกใจครับ
คือถ้าเราปิดเครื่อง พอรุ่งเช้ามา มันไม่แสดง ASIN แล้ว
ต้องทำใหม่ทุกวัน แบบนี้ปกติไหมครับ

 wanwan031 wanwan031
บันทึกการเข้า

หน้า: [1] 2 3 4   ขึ้นบน
พิมพ์