【问题标题】:How to scrape multiple pages of search results using R如何使用 R 抓取多页搜索结果
【发布时间】:2016-07-05 13:44:59
【问题描述】:

我想抓取一个列出南非所有资格的网站 (http://allqs.saqa.org.za/search.php)

当您第一次访问该链接时,您会注意到它是一个带有搜索条件的页面。我想抓取所有结果,所以我不在搜索条件中输入任何内容 - 只需单击“GO”,然后返回我想要抓取的搜索结果。结果显示为 20 条记录,共有 16521 页结果。这个阶段的URL还是和上面一样。

是否可以抓取这些结果?从我一直在做的在线搜索中,我找到了在 URL 中定义页面结果搜索条件的解决方案。但是对于我想抓取的网站,这不是选项

理想情况下,我想使用 R 进行抓取,但是如果在 R 中不可能,我愿意接受其他建议

非常感谢 里亚

【问题讨论】:

  • 你试过什么?你在哪里卡住?在这一点上,这个问题太宽泛/笼统了。
  • 我查看了该站点,似乎只支持 POST 方法。我尝试将提交操作从 POST 更改为 GET,这给了我一个定义了搜索条件的 URL,但这只是让我回到了主搜索页面。您需要找到支持 POST 的抓取工具。

标签: r web-scraping screen-scraping


【解决方案1】:

R 有一个支持 POST 方法的 curl 包。以下代码应该可以帮助您入门:

library(curl)
h = new_handle()
handle_setopt(h, copypostfields = "cat=qual&GO=Go")
req = curl_fetch_memory("http://allqs.saqa.org.za/search.php", handle=h)
cat(rawToChar(req$content))

注意,这只是在提交表单后吐出网页的内容。将数据解析为数据框留作练习。在 R 中输入“??curl”以查看教程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多