R - 在网站上发送搜索请求

Gin*_*tte 2 r web-scraping rcurl httr rvest

我有一个小问题,涉及在网站上发布搜索请求并使用 R 包 rvest 和 httr 显示结果...我只想对名称“Acer Campestre”进行一次搜索,然后仅勾选“匹配”框仅完整单词”。这是我的代码:

library(httr)
library(rvest)
col = POST(url="http://www.catalogueoflife.org/col",
           encode="form",
           body=list(text="Acer campestre",
                     fossil="0",
                     match="1",
                     submit="Search"))
col_html = read_html(col)
col_table = html_table(col_html,fill=T)
Run Code Online (Sandbox Code Playgroud)

我想我离答案不太远,但似乎我总是在使用这种使用html代码的命令时遇到麻烦...希望有人可以帮助我,提前感谢!

Gin*_*tte 5

好的,

最后我自己解决了,问题有三个根源:

-不是“fill=T”而是“fill=F”

-对发布请求的输入严重要求:不是“文本”而是“键”,不是“提交”而是“搜索”......

-最后但并非最不重要的一点是:默认 URL“ http://www.catalogueoflife.org/col ”不是可以使用的。“ http://www.catalogueoflife.org/col/search/all ” 是用于实际发布请求或与网页交互的正确方法......以下是代码:

library(rvest)
library(httr)
col = POST(url="http://www.catalogueoflife.org/col/search/all",
           encode="form",
           body=list(key="Acer campestre",
                     fossil="0",
                     match="1",
                     search="Search"))
col_html = read_html(col)
col_table = html_table(col_html,fill=F)
Run Code Online (Sandbox Code Playgroud)

然后,将网页内容放在一个漂亮的表格中!

希望这对某人有帮助:)