我对 R 中的抓取相对较新,并且使用“rvest”很幸运,但我遇到了一个我无法解决的问题。
无论您在表格的哪个页面上,我尝试抓取的网站都具有相同的 URL。例如,主网页是 www.blah.com,上面有一个主表,其中有同一个表的 10 个其他“下一个”页面,但只是按顺序排列的下一个(我很抱歉没有链接到实际页面,因为我不能由于工作问题)。
因此,如果我在表格的第 1 页,则 URL 是 www.blah.com。如果我在表格的第 2 页,则 URL 是 www.blah.com 等等...... URL 永远不会改变。
到目前为止,这是我的代码。我正在使用 rvest 和 phantomjs 的组合。该代码完美运行,但仅用于获取表格的第 1 页,而不是相应的“下一个”表格的 10 页:
url <- "http://www.blah.com"
writeLines(sprintf("var page = require('webpage').create();
page.open('%s', function () {
console.log(page.content); //page source
phantom.exit();
});", url), con="scrape.js")
system(phantomjs scrape.js > scrape.html")
page <- html("scrape.html")
page %>% html_nodes("td:nth-child(4)") %>% html_text()
而且,这是来自网站的表格第 2 页的 HTML 代码(表格的所有其他页面都是相同的,除了将 2 替换为 3 等等):
<li><a href="#" id="p_2">2</a></li>
非常感谢您提供的任何建议/帮助!