这是我编程的第一步,在打扰你们之前,我正在尝试学习尽可能多的东西。但是现在,在尝试了几种方法(我自己考虑或在网上发现)后,我几乎陷入了困境。
我现在想要做的是保存多个完整的JavaScript页面,以便在R中进一步使用它们。据我所知,使用phantomjs这是可能的。我设法获得了加载页面的代码。但是我在循环中挣扎:
writeLines("var page = new WebPage();
var fs = require('fs');
for (i = 101; i <= 150; i++) {
page.open('http://understat.com/match/' + i, function (status) {
just_wait();
});
function just_wait() {
setTimeout(function() {
fs.write('match' + i + '.html', page.content, 'w');
phantom.exit();
}, 2500);
}
}
", con = "scrape.js")
js_scrape <- function(
js_path = "scrape.js",
phantompath = "/Users/Marek/Documents/Programmierung/Startversuche/phantomjs-2.1.1/bin/phantomjs"){
lines <- readLines(js_path)
command = paste(phantompath, js_path, sep = " ")
system(command)
}
js_scrape()
它只是保存循环的最后一页。阅读其他线程,我了解到问题在于phantomJS是异步的,并且在加载页面之前几乎关闭了页面。但是我无法解决,因此将所有页面保存在不同的文件中。