【发布时间】:2019-04-13 07:42:51
【问题描述】:
这是我要从以下网站抓取的网站:https://www.premierleague.com/match/38413
我正在尝试获取包含 Match Stats 的表格,但是当我尝试抓取它时,我只得到第一行,其中仅包含球队名称!
这是我正在使用的代码:
library(rvest)
url <- "https://www.premierleague.com/match/38413"
my_html <- read_html(url)
tbls_ls <- my_html %>%
html_nodes("table") %>%
.[2] %>%
html_table(fill = TRUE)
我不是 R 专家,所以我不太确定自己做错了什么,但希望得到帮助!
【问题讨论】:
-
问题是“Match Stats”表是由
JavaScript生成的,即rvest本身无法抓取它。您需要其他工具,例如RSelenium(很慢,很慢而且不是很稳定),PhantomJS或V8。 -
很可能数据实际上不在页面中。相反,页面被加载,然后 Javscript 代码获取数据并将其注入浏览器中的页面。 R 页面函数(如 rvest 中)仅对页面执行 http GET - 它们不会在页面中运行任何脚本。
-
Mmk,我可以通过页面源获取信息吗?通过检查页面,我已经能够找到我需要的所有信息,但我不知道如何收集它们。
-
可能重复:stackoverflow.com/questions/41496552/…(至少是同一个网站)
标签: r web-scraping