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

时间:2018-03-16 18:49:28

标签: r web-scraping rvest rcurl httr

我有一个小问题,涉及在网站上发布搜索请求并使用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)

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

1 个答案:

答案 0 :(得分:0)

行,

我最终解决了这个问题,问题有三个来源:

- " fill = T"但是" fill = F"

- 严重要求发布请求的输入:不是" text"但是"键",而不是"提交"但是"搜索" ...

- 最后但并非最不重要:默认网址" 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)

然后,将网页的内容放在一张漂亮的桌子上!

希望对某人有所帮助:)。