-->

แจก imacro js เก็บสินค้าร้าน nordstrom


เนื่องด้วยวันนี้เป็นวันคล้ายวันเกิด จึงทำการแจก Imacro เก็บสินค้ากันหน่อยครับ เมื่อบทความก่อนๆหน้านี้ผมได้ทำการเขียนและแจก imacro เก็บสินค้า ไปแล้วรอบนึงครับ

ซึ่งการเขียน Imacro เก็บสินค้าในครั้งนั้น ผมได้เขียนมันง่ายๆ ไม่ต้องยุ่งยากอะไรมากนักครับ ซึ่งสิ่งที่ได้ก็เวิคในระดับหนึ่ง เหมาะกับผู้เริ่มต้น และหลังจากนั้น มีพี่ฝากให้เขียน imacro เก็บสินค้าร้านอื่นๆ ผมจึงลองเขียนด้วย js ซึ่งเป็นการเขียน Imaco เก็บสินค้าด้วย JS ครั้งแรกของผมเลย

ด้วยความที่ไม่รู้ของผมจึงต้องเปิดหาทั้ง Google ทั้งเว็บนั่นนี่และจากตัวอย่างที่ Imacro ให้มา อีกทั้งต้องไปประยุกต์เข้ากับ JS แบบมั่วๆ นั่งลองทำลองเขียนในสไตน์ของผมมาซักพักก็ได้ imacro มา 1 ตัว ที่ตอบสนองได้ดีระดับหนึ่ง ผมไม่ได้บอกว่า imacro เก็บสินค้าตัวนี้จะดีมากมายเท่าไรนะครับ

เพราะว่าการใช้ imacro เก็บสินค้าตัวนี้ จะช้าอยู่ระดับหนึ่งซึ่งไม่อาจจะเทียบกับ php curl ได้เลย แต่ imacro ที่ผมแจกตัวนี้ เก็บ Description ของสินค้าด้วยยิ่งช้าไปใหญ่เลย ฮ่าๆ

ทั้งนี้ด้วยเจตนารมของผม ผมอยากแจก imacro เก็บสินค้าร้าน Nordstrom เพื่อใช้ในการศึกษาและนำไปประยุกต์ต่อได้ครับ

รูปแบบการเก็บสินค้าจะเป็น "Title","Link","IMG","DEC" สำหรับใครจะเปลี่ยนตำแหน่งให้แก้ที่บรรทัด 109-112 สลับบรรทัดได้เลย ข้อมูลเป็นแบบ Array (ผมเดา)


var i;
var next;
 
var savefile;
var folder;
var per;
var page;
 
iimDisplay("Nordstrom Keeper");
 
javascript:page=prompt("Please Enter number of Pages:", "");
javascript:savefile=prompt("Please Enter NameFile:", "");
 
folder = "D:\\Keeper";
 
if(page === ""){page = 1;}
 
if(savefile === ""){
    var today = new Date();
    savefile = today + ".csv";
}else{
    savefile = savefile + ".csv";
}
 
next =  "CODE:";
next +=  "VERSION BUILD=6500420" + "\n";  
next += "TAG POS=1 TYPE=SPAN ATTR=CLASS:sprite<SP>sprite-caret-right-lg&&TXT:" + "\n";
next += "WAIT SECONDS=4" + "\n";
 
var foot;
foot =  "CODE:";
foot += "URL GOTO=javascript:window.scrollBy(0,10000)" + "\n";
foot += "WAIT SECONDS=2" + "\n";
foot += "URL GOTO=javascript:window.scrollBy(0,60000)" + "\n";
foot += "WAIT SECONDS=2" + "\n";
 
var p=0;  //จำนวนชิ้น
var t=1;
 
for (var a=1;a<=page;a++){
    iimPlay(foot);
    for (var i=1;i<=100;i++)
        {
            iimSet("i",i);
  
            p++;
  
            iimDisplay("Keep Page "+a+"/"+page+" Item "+i);
  
            iimPlay("CODE: VERSION BUILD=6500420" + "\n"
            +"SET !EXTRACT_TEST_POPUP NO" + "\n"
            +"SET !ERRORIGNORE YES" + "\n"
            +"TAB T=1" + "\n"
            +"SET !DATASOURCE_COLUMNS 1" + "\n"
            +"SET !LOOP 1" + "\n"
            +"SET !DATASOURCE_LINE {{!LOOP}}" + "\n"
            +"TAG POS={{i}} TYPE=A ATTR=CLASS:title EXTRACT=TXT" + "\n");
            extract = iimGetLastExtract();
            if(extract !== '#EANF#') {
                var titlec = "";
                titlec = extract.replace(/(\r\n|\n|\r)/gm," ");
                titlec = titlec.replace(/\s{2,}/g, ' ');
                titlec = titlec.trim();
            }else{
                break;
                iimDisplay("Nordstrom Keeper End, Product = "+p);
            }
 
            iimSet("i",i);
            iimPlay("CODE: SET !EXTRACT NULL" + "\n"
            +"TAG POS={{i}} TYPE=A ATTR=CLASS:title EXTRACT=HREF" + "\n");
   
            link = iimGetLastExtract();
            link = link.trim();
            iimSet("link",link);
  
            iimSet("i",i);
  
            iimPlay("CODE: SET !EXTRACT NULL" + "\n"
            +"TAB OPEN" + "\n"
            +"TAB T=2" + "\n"
            +"URL GOTO={{link}}" + "\n"
            +"TAG POS=1 TYPE=DIV ATTR=CLASS:accordion-content EXTRACT=TXT" + "\n");
   
            des = iimGetLastExtract();
            des = des.replace(/(\r\n|\n|\r)/gm," ");
            des = des.replace(/\s{2,}/g, ' ');
            des = des.trim();
  
            iimSet("i",i);
  
            iimPlay("CODE: SET !EXTRACT NULL" + "\n"
            +"TAB CLOSE" + "\n"
            +"TAG POS={{i}} TYPE=IMG ATTR=SRC:https://g.nordstromimage.com* EXTRACT=HREF" + "\n");
   
            img = iimGetLastExtract();
            img = img.trim();
   
            iimSet("titlec",titlec);
            iimSet("link",link);
            iimSet("img",img);
            iimSet("des",des);
  
            iimSet("savefile",savefile);
            iimSet("folder",folder);
  
            iimPlay("CODE: SET !EXTRACT NULL" + "\n"
            +"ADD !EXTRACT {{titlec}}" + "\n"
            +"ADD !EXTRACT {{link}}" + "\n"
            +"ADD !EXTRACT {{img}}" + "\n"
            +"ADD !EXTRACT {{des}}" + "\n"
            +"SAVEAS TYPE=EXTRACT FOLDER={{folder}} FILE={{savefile}}" + "\n");
  
        }
 
        if(a != page){
            iimPlay(next);
            iimDisplay("Next Page Wait 8 Second");
        }
 
}

สามารถดาวโหลดได้ที่

ขอขอบคุณทุกท่านที่ติดตามครับ