使用R屏幕抓取实际页面而不是源html

Lia*_*ynn 2 screen-scraping r

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

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

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

是否有可能从页面中删除所有文本,就好像我在浏览器中的页面上并选择了所有文本然后复制了?

wat*_*ova 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"))
Run Code Online (Sandbox Code Playgroud)