ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: 969 ที่ 24 กรกฎาคม 2014, 08:53:44



หัวข้อ: ได้โปรด ผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: 969 ที่ 24 กรกฎาคม 2014, 08:53:44
เดิมผมใช้อันนี้ครับ (จำได้ว่าพี่สารวัตรันเอามาแจก) แต่ตอนนี้รู้สึกว่า google จะเปลี่ยน รหัสโค๊ตบางอย่างก็เลยเก็บไม่ได้ พยายามแก้ละแต่ก็ไม่สำเร็จ ขอผู้เชี่ยวชาญช่วยด้วยครับ

ขอบคุณมากครับ

SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
SET !EXTRACT_TEST_POPUP NO
TAB T=1
SET !DATASOURCE_COLUMNS 1
SET !DATASOURCE_LINE {{!LOOP}}

TAG POS=1 TYPE=A ATTR=CLASS:l EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv

TAG POS=2 TYPE=A ATTR=CLASS:l EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv

TAG POS=3 TYPE=A ATTR=CLASS:l EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv

TAG POS=4 TYPE=A ATTR=CLASS:l EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv

TAG POS=5 TYPE=A ATTR=CLASS:l EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv
.
.
.
.
TAG POS=100 TYPE=A ATTR=CLASS:l EXTRACT=HREF
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv
TAG POS=1 TYPE=SPAN ATTR=TXT:Next


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: 969 ที่ 24 กรกฎาคม 2014, 11:22:53
มีใครทราบบ้างครับ ดันๆ


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: น้องพี่ต้าร์ ที่ 24 กรกฎาคม 2014, 12:04:55
โค๊ด:
TAG POS=1 TYPE=a ATTR=CLASS:rg_l EXTRACT=HREF
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; var regex = /(.*)(imgurl=)(.*)(&imgrefurl=)(.*)/gi; match = regex.exec(s); s=decodeURIComponent(match[3]);")
SET !EXTRACT NULL
SET !EXTRACT {{!VAR1}}
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: 969 ที่ 24 กรกฎาคม 2014, 13:04:05
โค๊ด:
TAG POS=1 TYPE=a ATTR=CLASS:rg_l EXTRACT=HREF
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; var regex = /(.*)(imgurl=)(.*)(&imgrefurl=)(.*)/gi; match = regex.exec(s); s=decodeURIComponent(match[3]);")
SET !EXTRACT NULL
SET !EXTRACT {{!VAR1}}
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv

ขอบคุณมากครับ ยังไม่มีเวลาลองดู ลองคืนนี้นะครับ
 :wanwan017:
บวก 1


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: 969 ที่ 24 กรกฎาคม 2014, 17:04:40
โค๊ด:
TAG POS=1 TYPE=a ATTR=CLASS:rg_l EXTRACT=HREF
SET !VAR1 EVAL("var s=\"{{!EXTRACT}}\"; var regex = /(.*)(imgurl=)(.*)(&imgrefurl=)(.*)/gi; match = regex.exec(s); s=decodeURIComponent(match[3]);")
SET !EXTRACT NULL
SET !EXTRACT {{!VAR1}}
SAVEAS TYPE=EXTRACT FOLDER=D:\ FILE=seogoalranks.csv

ยังไม่ได้ครับ มันไม่เก็บหรือผม set อะไรผิดครับ


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: น้องพี่ต้าร์ ที่ 24 กรกฎาคม 2014, 22:43:54
อ้อโทดทีครับ ผมอ่านหัวข้อผิด นึกว่าเก็บ url รูปภาพ อ่าน imacro เป็น image :P


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: น้องพี่ต้าร์ ที่ 25 กรกฎาคม 2014, 00:35:00
save เป็น .js   อาจจะมี bug นะเพราะยังไม่ได้เทสเยอะ


โค๊ด:
var	jsLF = "\n";

var next_page = 10;         // จะเก็บกี่หน้าก็ใส่ไป





for(z=1;z<=next_page;z++){


iimDisplay("หน้าที่ "+z+"/"+next_page);

macro ="CODE:";
macro += "SET !ERRORIGNORE YES" + jsLF;
macro += "SET !EXTRACT_TEST_POPUP NO" + jsLF;
macro += "SET !ERRORCONTINUE YES" + jsLF;
macro += "TAG POS=1 TYPE=div ATTR=class:srg EXTRACT=htm" + jsLF;
iimPlay(macro);
div = iimGetLastExtract(1);
if(div !== '#EANF#'){
res = div.split('<li class="g">');

for(i=1;i<res.length;i++){

var find_class = res[i].indexOf('http://www.google.co.th/url?');
var find_class2 = res[i].indexOf('http://www.google.com/url?');

if((find_class == -1) && (find_class2 == -1)){

var geturl = res[i].match(/<h3 class="r">(.*?)<\/h3>/g);
var geturl = geturl[0].match(/"(.*?)"/g);
var geturl = geturl[1].replace(/"/g,'');
var geturl = decodeURIComponent(geturl);

}else{

var geturl = res[i].match(/<h3 class="r">(.*?)<\/h3>/g);
var geturl = geturl[0].match(/"(.*?)"/g);
var geturl = geturl[1].replace(/"/g,'');
var geturl = geturl.match(/&amp;url=(.*)&amp;ei=/g);
var geturl = geturl[0].replace(/&amp;url=/g,'');
var geturl = geturl.replace(/&amp;ei=/g,'');
var geturl = decodeURIComponent(geturl);
}

iimSet ("Hgeturl",geturl);
macro ="CODE:";
macro += "SET !ERRORIGNORE YES" + jsLF;
macro += "SET !EXTRACT_TEST_POPUP NO" + jsLF;
macro += "SET !ERRORCONTINUE YES" + jsLF;
macro += "ADD !EXTRACT {{Hgeturl}}"+ jsLF;
macro += "SAVEAS TYPE=EXTRACT FOLDER=D:\\ FILE=seogoalranks.csv"+ jsLF;
iimPlay(macro);
}
}

//next page
macro ="CODE:";
macro += "SET !ERRORIGNORE YES" + jsLF;
macro += "SET !EXTRACT_TEST_POPUP NO" + jsLF;
macro += "SET !ERRORCONTINUE YES" + jsLF;
macro += 'EVENT TYPE=CLICK SELECTOR="#pnnext>SPAN:nth-of-type(2)" BUTTON=0' + jsLF;
macro += "WAIT SECONDS=3" + jsLF;
iimPlay(macro);
}


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: zatoli30 ที่ 26 กรกฎาคม 2014, 00:43:41
ลองทดสอบเขียนแบบ relative เอาไปทดสอบสอบดูครับ บ้านๆ แต่น่าจะผ่านครับ  :wanwan017:

อ้างถึง

VERSION BUILD=7401110 RECORDER=FX
TAB T=1
SET !EXTRACT_TEST_POPUP NO
SET !ERRORIGNORE YES
SET !ERRORCONTINUE YES
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
SET !DATASOURCE_LINE {{!LOOP}}
SET !VAR1 test
'ตัวอย่างเช่น sony-lcd
SET !VAR2 D:\google_url
'ตัวอย่างเช่น D:\Asin
TAG POS=1 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=1 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=2 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=2 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=3 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=3 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=4 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=4 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=5 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=5 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=6 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=6 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=7 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=7 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=8 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=8 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=9 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=9 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=10 TYPE=DIV ATTR=class:s
TAG POS=R-1 TYPE=A ATTR=onmousedown:return<SP>rwt* EXTRACT=HREF
TAG POS=10 TYPE=H3 ATTR=CLASS:r EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER={{!VAR2}} FILE={{!VAR1}}.csv

TAG POS=1 TYPE=A ATTR=ID:pnnext


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: น้องพี่ต้าร์ ที่ 26 กรกฎาคม 2014, 01:24:37
วาว skill up  relative positioning
ไม่ได้เปิดดู demo สักทีว่ามีแบบนี้ด้วย   :wanwan031:


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: 969 ที่ 26 กรกฎาคม 2014, 10:27:01
-ขอบคุณทั้ง 2 คนครับ เจอเทพสคริปละ
 :wanwan017:


หัวข้อ: Re: กวนผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: Kendy ที่ 26 กรกฎาคม 2014, 10:50:43
เก็บข้อมูลครับบบ :wanwan017:


หัวข้อ: Re: ได้โปรด ผู้รู้ขอ Imacros เก็บ URL จากหน้าเสริชของ GOOGLE ครับ (+ 1 ทุกท่าน)
เริ่มหัวข้อโดย: peeza ที่ 14 สิงหาคม 2014, 20:47:06
save เป็น .js   อาจจะมี bug นะเพราะยังไม่ได้เทสเยอะ


โค๊ด:
var	jsLF = "\n";

var next_page = 10;         // จะเก็บกี่หน้าก็ใส่ไป





for(z=1;z<=next_page;z++){


iimDisplay("หน้าที่ "+z+"/"+next_page);

macro ="CODE:";
macro += "SET !ERRORIGNORE YES" + jsLF;
macro += "SET !EXTRACT_TEST_POPUP NO" + jsLF;
macro += "SET !ERRORCONTINUE YES" + jsLF;
macro += "TAG POS=1 TYPE=div ATTR=class:srg EXTRACT=htm" + jsLF;
iimPlay(macro);
div = iimGetLastExtract(1);
if(div !== '#EANF#'){
res = div.split('<li class="g">');

for(i=1;i<res.length;i++){

var find_class = res[i].indexOf('[url]http://www.google.co.th/url?'[/url]);
var find_class2 = res[i].indexOf('[url]http://www.google.com/url?'[/url]);

if((find_class == -1) && (find_class2 == -1)){

var geturl = res[i].match(/<h3 class="r">(.*?)<\/h3>/g);
var geturl = geturl[0].match(/"(.*?)"/g);
var geturl = geturl[1].replace(/"/g,'');
var geturl = decodeURIComponent(geturl);

}else{

var geturl = res[i].match(/<h3 class="r">(.*?)<\/h3>/g);
var geturl = geturl[0].match(/"(.*?)"/g);
var geturl = geturl[1].replace(/"/g,'');
var geturl = geturl.match(/&amp;url=(.*)&amp;ei=/g);
var geturl = geturl[0].replace(/&amp;url=/g,'');
var geturl = geturl.replace(/&amp;ei=/g,'');
var geturl = decodeURIComponent(geturl);
}

iimSet ("Hgeturl",geturl);
macro ="CODE:";
macro += "SET !ERRORIGNORE YES" + jsLF;
macro += "SET !EXTRACT_TEST_POPUP NO" + jsLF;
macro += "SET !ERRORCONTINUE YES" + jsLF;
macro += "ADD !EXTRACT {{Hgeturl}}"+ jsLF;
macro += "SAVEAS TYPE=EXTRACT FOLDER=D:\\ FILE=seogoalranks.csv"+ jsLF;
iimPlay(macro);
}
}

//next page
macro ="CODE:";
macro += "SET !ERRORIGNORE YES" + jsLF;
macro += "SET !EXTRACT_TEST_POPUP NO" + jsLF;
macro += "SET !ERRORCONTINUE YES" + jsLF;
macro += 'EVENT TYPE=CLICK SELECTOR="#pnnext>SPAN:nth-of-type(2)" BUTTON=0' + jsLF;
macro += "WAIT SECONDS=3" + jsLF;
iimPlay(macro);
}

ขอบคุณมากเลยครับ ซึ้งในน้ำใจจริงๆ หามานานละ :'(