如何使用R从PHP网站抓取表格?

时间:2019-12-14 23:46:08

标签: php r function web-scraping

希望从此页上的表中将数据导入R:

https://legacy.baseballprospectus.com/standings/index.php?odate=2019-09-10

我尝试过使用XML和httr的多种方法,但都没有碰运气。已经查看过以前的帖子,包括:

Read data from a php website with R

Scraping html tables into R data frames using the XML package

想知道我是否使用的不是源中正确的表ID,或者表在给定我当前使用的工具时格式是否正确?

非常感谢所有帮助!预先感谢!

1 个答案:

答案 0 :(得分:0)

这并不能完全满足您的需求,但这可能有助于您入门:

library(XML)
fname <- "standings20190910.html"
download.file("https://legacy.baseballprospectus.com/standings/index.php?odate=2019-09-10", destfile=fname)
doc0 <- htmlParse(file=fname, encoding="UTF-8")
doc1 <- xmlRoot(doc0)
doc2 <- getNodeSet(doc1, "//table[@id='content']")
standings <- readHTMLTable(doc2[[1]], header=TRUE, skip.rows=1, stringsAsFactors=FALSE)

您可以查看您要抓取的表的HTML源代码,然后尝试弄清楚如何创建有用的R对象。仔细查看XML软件包(https://cran.r-project.org/web/packages/XML/XML.pdf)手册中getNodeSetreadHTMLTable的文档。