我正在尝试使用R从此页面屏蔽网球结果数据(逐点数据,而不仅仅是最终结果)。
http://www.scoreboard.com/au/match/wang-j-karlovic-i-2014/M1mWYtEF/#point-by-point;1
使用常规的R屏幕抓取功能,如readlines(),htmlParseTree()等,我能够抓取页面的源html,但不包含结果数据。
是否可以从页面中抓取所有文本,就好像我在浏览器中的页面上并选择了所有文本然后复制一样?
答案 0 :(得分:6)
使用来自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"))