Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 带环的iMacros刮网器_Loops_Web Scraping_Scrape_Scraper_Imacros - Fatal编程技术网

Loops 带环的iMacros刮网器

Loops 带环的iMacros刮网器,loops,web-scraping,scrape,scraper,imacros,Loops,Web Scraping,Scrape,Scraper,Imacros,我正在尝试使用iMacros构建一个数据刮板,首先在yelp上搜索邮政编码中的一个类别,然后浏览每页上的每个配置文件,刮板某些信息,并将其保存到一个csv文件中,每个配置文件之间有换行符。当宏到达该搜索的最后一页上的最后一个配置文件的结尾时,它会返回并在新的邮政编码中一遍又一遍地搜索相同的内容,直到我的邮政编码列表完成。我的问题是,我不知道如何使它从提取部分循环,而不是整个过程,以及如何使它在完成后转到下一个邮政编码,并重新开始,直到while邮政编码文件完成。我使用的是付费版本9.00.237

我正在尝试使用iMacros构建一个数据刮板,首先在yelp上搜索邮政编码中的一个类别,然后浏览每页上的每个配置文件,刮板某些信息,并将其保存到一个csv文件中,每个配置文件之间有换行符。当宏到达该搜索的最后一页上的最后一个配置文件的结尾时,它会返回并在新的邮政编码中一遍又一遍地搜索相同的内容,直到我的邮政编码列表完成。我的问题是,我不知道如何使它从提取部分循环,而不是整个过程,以及如何使它在完成后转到下一个邮政编码,并重新开始,直到while邮政编码文件完成。我使用的是付费版本9.00.2379的iMacros

这是我到目前为止所拥有的,我非常感谢任何帮助

SET !EXTRACT_TEST_POPUP NO
SET !ERRORIGNORE YES
TAB T=1
URL GOTO=http://www.yelp.com/
TAG POS={{!loop}} TYPE=TD FORM=ID:form1 ATTR=TXT:*
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/search ATTR=NAME:find_desc CONTENT=italian<SP>restaurant
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/search ATTR=NAME:find_loc CONTENT=11234
TAG POS=1 TYPE=BUTTON:SUBMIT FORM=ACTION:/search ATTR=ID:header-search-submit
TAG POS=1 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=1 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=2 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=2 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=3 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=3 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=4 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=4 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=5 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=5 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=6 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=6 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=7 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=7 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=8 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=8 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=9 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=9 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
TAG POS=10 TYPE=H3 ATTR=CLASS:search-result-title EXTRACT=TXT
TAG POS=10 TYPE=DIV ATTR=CLASS:secondary-attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro-extract FILE=Extract-test1.csv
WAIT SECONDS=60
TAG POS=1 TYPE=A ATTR=TXT:→
SET!提取\u测试\u弹出窗口编号
设置错误忽略是
表T=1
URL转到=http://www.yelp.com/
标记POS={{!loop}}TYPE=TD FORM=ID:form1 ATTR=TXT:*
标记位置=1类型=输入:文本形式=操作:/search ATTR=名称:find_desc CONTENT=查找
标记位置=1类型=输入:文本形式=操作:/search ATTR=名称:find_loc CONTENT=11234
标记位置=1类型=按钮:提交表单=操作:/search ATTR=ID:标题搜索提交
标记POS=1 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=1 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=2 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=2 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=3 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=3 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=4 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=4 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=5 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
TAG POS=5 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=6 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=6 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=7 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标签POS=7 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=8 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=8 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=9 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=9 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
标记POS=10 TYPE=H3 ATTR=CLASS:搜索结果title EXTRACT=TXT
标记POS=10 TYPE=DIV ATTR=CLASS:secondary attributes EXTRACT=TXT
SAVEAS TYPE=EXTRACT FOLDER=S:\imacro EXTRACT FILE=EXTRACT-test1.csv
等待秒数=60
标记位置=1类型=A属性=TXT:→
我现在需要弄清楚的是如何从csv文件中提取类别和邮政编码,运行每个搜索,直到每个配置文件和每个可用页面的搜索全部完成,并保持循环,直到每个类别的邮政编码都完成

注意:这个版本只会从实际列表页面而不是概要文件本身中刮取信息,下一个版本将实际进入每个概要文件并刮取信息,而不是仅仅从搜索结果列表中刮取信息


我再次感谢所有能够帮助这个noob使其宏工作的人:)

您不能使用常规IIM宏,因为它不能在内部循环-您需要创建外部循环机制(javascript、vbs或类似工具),该机制将在每个页面上循环抓取,并循环页面关于如何执行类似操作的任何提示?也许是一个维基。。顺便说一句,谢谢你在我的电子邮件中给我发的提示信息,我会告诉你怎么做。事实上,我已经构建了这样的脚本。:)trakie0485[at]hotmail[dot]comHey IceD,给你发了一条信息,但还没有收到你的回复。还有人有什么想法吗?我从未回过邮件