R,网络抓取,rvest,transfermarkt数据

时间:2017-07-02 17:48:28

标签: r web-scraping rvest

我正在尝试将transfermarkt数据用于私人目的(没有商业用途)。

特别是,我需要有关给定时间段内所有转移的信息。可以按天搜索转移,我的计划是使用此页面搜索每一天:https://www.transfermarkt.co.uk/transfers/transfertagedetail/statistik/top/plus/0?land_id_ab=&land_id_zu=&leihe=&datum=2000-07-02

我需要本页底部的表格。

我正在使用rvest来执行此操作。这是代码:

library(dplyr)
library(rvest)

url = "http://www.transfermarkt.co.uk/transfers/transfertagedetail/statistik/top/plus/0?land_id_ab=&land_id_zu=&leihe=&datum=2000-07-02"
site =  read_html(url)
site %>% html_node("#yw1 td") %>% html_table() %>% View()

我收到了一个错误:

  

open.connection(x,“rb”)出错:HTTP错误404。

此代码大约一年前工作,但现在不行。我试图添加html_session,但结果是一样的。

你能帮我吗?

2 个答案:

答案 0 :(得分:1)

404是http错误,说您无法访问此页面。

如果您在浏览器中尝试此网址(就像我一样),您会注意到您无法访问此网址 - 这就是您无法获取此网址的原因。

更多关于互联网http错误: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

您可以使用httr编程方式检查错误:

GET(url) %>% status_code()

科林

答案 1 :(得分:0)

@Petr

我遇到的错误与运行代码时的错误不同。而不是404错误我得到“错误:html_name(x)==”表“不是真”

我能够正确设置变量site

我还可以使用tbls <- html_nodes(site, "table")获取页面上所有表的列表。

然后使用html_table(tbls[6])我能够看到

的html页面上的最后一个表格
  X1            X2
1 NA José Bosingwa
2 NA    Right-Back

这是你在找什么?你能按顺序运行这些命令吗?如果没有,它会在哪里崩溃?