【问题标题】:Screen scraping actual page not source html with R屏幕抓取实际页面不是使用 R 的源 html
【发布时间】:2014-09-10 05:45:26
【问题描述】:

我正在尝试使用 R 筛选此页面中的网球结果数据(逐点数据,而不仅仅是最终结果)。

http://www.scoreboard.com/au/match/wang-j-karlovic-i-2014/M1mWYtEF/#point-by-point;1

使用常规的 R 屏幕抓取功能,如 readlines()、htmlParseTree() 等,我能够抓取页面的源 html,但不包含结果数据。

是否可以从页面中抓取所有文本,就像我在浏览器中的页面上并选择所有然后复制一样?

【问题讨论】:

  • ..结果数据?比赛结果?

标签: r screen-scraping


【解决方案1】:

该数据是使用来自http://d.scoreboard.com/au/x/feed/d_mh_M1mWYtEF_en-au_1 的 AJAX 加载的,因此 R 将无法仅为您加载它。但是,由于两者都使用代码M1mWYtEF,因此您可以直接转到包含所需数据的页面。使用 Chrome 的 devtools,我可以看到该页面发送了 X-Fsign: SW9D1eZo 的标题,这将允许您访问该页面(否则您会收到 401 Unauthorized 错误)。

这是用于从示例页面获取包含所需数据的 html 的 R 代码:

library(httr)
page_code <- "M1mWYtEF"
linked_page <- paste0("http://d.scoreboard.com/au/x/feed/d_mh_", 
                      page_code, "_en-au_1")
GET(linked_page, add_headers("X-Fsign" = "SW9D1eZo"))

【讨论】:

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