-->

เก็บสินค้าด้วย imacro

เก็บสินค้าด้วย imacro

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

เป็นปัญหาหลายๆคนครับ ซึ่งผมก็เป็นครับ ทุกวันนี้ต้องหาเครื่องมือช่วยต่างๆนาๆ เพื่อที่จะได้มีเวลาไปทำอย่างอื่นมากกว่ามานั่งจ้องคอมหรือว่ามานั่งหาอะไรที่ไม่ควรเสียเวลา 

วันนี้เลยมาเอาใจคนรักการปั่นเพื่อสุขภาพครับ ด้วยการแนะนำวิธีการเก็บสินค้าด้วย imacro ซึ่งเป็น Add-ons ของเจ้า Firefox (ผมใช้กับเจ้านี้อย่างเดียว) คาดว่าจะได้ประโยชน์และสามารถเอาไปใช้งานอื่นๆได้ต่อครับ

โดยส่วนตัวถ้าจะเขียนไฟล iim ผมจะชอบบันทึกการกระทำนั้นๆก่อนครับ คลิกนั่นนี่เพื่อดูชื่อว่าตัว imacro เองมันจะตั้งชื่อการทำงานของมันอย่างไร แล้วค่อยมานั่งเขียนหรือว่านั่งปรับให้ตรงตามที่เราต้องการอีกรอบครับ

คงต้องหาเว็บลองเก็บสินค้าซักชิ้นเพื่อเป็นตัวอย่างแหละครับ เอาเป็นว่า warmart ละกัน สินค้ามีความสำคัญครับ แต่ที่สำคัญกว่าคือการโปรโมทให้ขายได้ครับ 

ถ้าจะเก็บสินค้าอย่างแรกที่ผมต้องดูคือว่า หน้าเว็บต้องเป็นลักษณะรูปแบบซ้ำๆหรือรูปแบบ Grid โดยส่วนใหญ่เขาจะวนลูปสินค้ามาแหละครับ

เก็บสินค้าด้วย imacro
รูปแบบเว็บสินค้าที่เหมาะแก่การเก็บด้วย imacro
ผมจะลองเก็บตามลิงค์นี้นะครับ

https://www.walmart.com/browse/electronics/tablet-accessories/3944_1078524_1087422/?tab_value=all&ss=false&ic=32_0&_mm=

อย่างแรกผมจะ record ก่อนครับ ผมอยากได้อะไรผมก็จะลองบันทึกครับ
เก็บสินค้าด้วย imacro
เริ่มบันทึก imacro
เป็นวิธีง่ายๆสำหรับใครที่ไม่อยาก view code นะครับ แล้วถ้า view code ละ
เก็บสินค้าด้วย imacro
การ view code ดูเป้าหมาย
การ view code นี่ ต้องคลิกขวาเอาตำแหน่งที่เราจะเอาครับ แล้ว copy code ไว้ครับ 

แล้วทั้งสองอย่างนี้ผลลัพท์ต้องการอะไรละครับ สิ่งที่อยากได้ ที่ตัว imacro นี้จะเอาไปใช้งานต่อได้คือ ข้อมูลที่เราจะเอานั้น อยู่ใน tag อะไร img / a / div / table ต่างๆนา แต่ว่าใน 1 เว็บ มันไม่ได้มี tag นี้ตัวเดียวครับ มันต้องจี้จุดมากกว่านั้น โดยแต่ละ tag ถ้าทางเว็บเขาตั้งชื่อ class / id นี่ก็จะง่ายขึ้นมากครับ

วิธี Record

 VERSION BUILD=8820413 RECORDER=FX
TAB T=1
URL GOTO=https://www.walmart.com/browse/electronics/tablet-accessories/3944_1078524_1087422/?tab_value=all&ss=false&ic=32_0&_mm=
TAG POS=1 TYPE=IMG ATTR=ID:mainImage_1

วิธีแรกที่เรา record มานั้นผมคลิกที่รูปนะครับ มันก็จะบึนทึกว่าเราเข้า link ไหนมา URL GOTO และเราไปคลิกไรมา TAG POS=1 TYPE=IMG ATTR=ID:mainImage_1 ผมทำแค่อย่างเดียวครับ ก็จะน้อยอย่างนี้แหละครับ

สิ่งที่ได้มาคืออะไร คือชื่อ tag ที่เป็น IMG และได้ค่า ID ของรูปนั้นว่าชื่ออะไร mainImage_1 เท่านี้แหละครับ

ลองเก็บเลยดีกว่างั้น
เก็บสินค้าด้วย imacro
สังเกตค่า tag img

ถ้า view code ดู เราจะเห็นว่าถ้ารูปที่ 2 จะชื่อ mainImage_2 ครับ ทีนี้สังเกตว่าใน tag IMG นี้ มันมีค่า alt ครับ ที่ทางเว็บยัด ชื่อสินค้า ไว้ครับ หวานเลยทีนี้


VERSION BUILD=6500420     
SET !EXTRACT_TEST_POPUP NO
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
TAB T=1
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}}
WAIT SECONDS=3

SET !VAR1 D:\
SET !VAR2 mycsv.csv

TAG POS=1 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=1 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=1 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=2 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=2 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=2 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=3 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=3 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=3 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=4 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=4 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=4 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=5 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=5 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=5 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=6 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=6 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=6 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=7 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=7 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=7 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=8 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=8 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=8 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=9 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=9 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=9 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=10 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=10 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=10 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=11 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=11 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=11 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=12 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=12 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=12 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=13 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=13 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=13 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=14 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=14 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=14 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=15 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=15 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=15 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=16 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=16 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=16 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=17 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=17 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=17 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=18 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=18 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=18 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=19 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=19 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=19 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=20 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=20 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=20 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=21 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=21 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=21 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=22 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=22 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=22 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=23 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=23 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=23 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=24 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=24 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=24 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=25 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=25 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=25 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=26 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=26 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=26 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=27 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=27 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=27 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=28 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=28 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=28 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=29 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=29 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=29 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=30 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=30 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=30 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=31 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=31 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=31 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=32 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=TXT
TAG POS=32 TYPE=A ATTR=CLASS:prodLink<SP>GridItemLink EXTRACT=HREF
TAG POS=32 TYPE=IMG ATTR=CLASS:prodImg EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER={{!VAR1}} FILE={{!VAR2}}

TAG POS=1 TYPE=A ATTR=TXT:Next

ในส่วนหัวบรรทัด 1-12 ส่วนใหญ่ผมจะใช่ค่าเดิมตลอด เปลี่ยนแต่ชื่อไฟล์เท่านั้น ผมคงจะไม่อธิบายลึกดีดว่าครับ บทความนี้ทำมาเฉพาะกิจ แต่ผมจะเขียนเรื่อง imacro เต็มๆอยู่ครับ

จาก code ผมจะเก็บ เป็น 3 column นะครับ Title, Link, IMG สามัญเลย

ตอนนี้เก็บแค่ 2 ชิ้นก่อนครับ 32 ชิ้น ก็วิ่ง TAG POS 32 กันเลยครับ ที่มันต้องเป็นอย่างนี้ หลักง่ายๆ คือว่า มันจะค้นหา tag ที่เรากำหนดครับ ถ้า tag ที่เราหาในหน้านั้นมี 32 ชิ้นก้อต้องวน 32 ครั้งครับ TAG POS=32 เลยแหละครับ

ข้อควรระวังจะมีเรื่องของ ถ้าเราระบุ TAG ไว้ 32 รอบ แต่ดันเจ้ากรรม เว็บเขา มี TAG ชื่อและรูปแบบ มันตรงกับเรา มากกว่า 32 ข้อมูลก็อาจจะเพี้ยนได้ครับ

จะสังเกตอย่างไร ก็เว็บพวกที่มี สินค้าอื่น ที่อยู่นอก grid ประมานนี้อะครับ แต่ให้ชัดเลย คือว่า ถ้าเราเก็บข้อมูล TAG POS=1 TYPE=IMG แต่ว่า ATTR เราไม่ได้กำหนดรูปแบบมันเลย แต่เราจะเอาสินค้า 32 ชิ้น ในหน้านั้นๆ มันก็จะเก็บมาเลยครับ ตั้งแต่ logo ที่เป็น tag img บนสุด แล้วนับมา 32 tag img ครับ เท่านั้นแหละเพี้ยนกันหมดพอดี

ไม่รู้ว่าจะมองออกไหมนะครับ แต่ที่สำคัญคือ หาข้อแตกแต่งเรื่อง ID / CLASS ของ TAG ใน code หน้าเว็บที่เราจะเก็บให้ได้เท่านั้นเองครับ

สามารถศึกษาเพิ่มที่ https://wiki.imacros.net/Main_Page ได้เลยครับ

ตัว iim ตัวนี้ ผมเขียนมาให้แก้ง่ายไว้ก่อน ตั้งชื่อรอบเดียว เอาให้สบายๆใช้ง่ายๆ ลองใช้กันดูครับ หากติดปัญหาและข้อสงสัย สอบถามได้ครับ แลกเปลี่ยนข้อมูลผมชอบมากๆ