【发布时间】:2015-12-06 17:30:01
【问题描述】:
我正在使用 PhantomJS 抓取一些网站,因此使用 r 提取信息。我正在关注this 教程。单页一切正常,但我找不到任何关于如何自动化多页的简单教程。 到目前为止我的实验:
var countries = [ "Albania" ,"Afghanistan"];
var len = countries.length;
var name1 = ".html";
var add1 = "http://www.kluwerarbitration.com/CommonUI/BITs.aspx?country=";
var country ="";
var name ="";
var add="";
for (i=1; i <= len; i++){
country = countries[i]
name = country.concat(name1)
add = add1.concat(name1)
var webPage = require('webpage');
var page = webPage.create();
var fs = require('fs');
var path = name
page.open(add, function (status) {
var content = page.content;
fs.write(path,content,'w')
phantom.exit();
});
}
我在运行代码时似乎没有收到任何错误,该脚本只为第二个国家/地区创建了一个 html 文件,其中包含为我感兴趣的小桌子制作的页面异常的所有信息。
我试图从similar questions 收集一些信息。但是,也因为我找不到一个简单的可重现的例子,我不明白我做错了什么。
【问题讨论】:
-
我会给出与您链接的答案相同的答案。也许你应该显示出了什么问题。由于 PhantomJS 是异步的,因此您不能真正以微不足道的方式使用循环。顺便说一句,你还没有说 this 代码出了什么问题。它不起作用这一事实不足以让我们确定发生了什么问题。
-
我对此很陌生,主要问题是我不太了解。运行代码时我似乎没有收到任何错误,该脚本仅为第二个国家/地区创建了一个 html 文件,其中包含有关我感兴趣的小表的页面异常的所有信息。我将继续阅读其他问题,谢谢
标签: javascript for-loop web-scraping phantomjs