如何使用XML和ReadHTMLTable抓取多个页面?

前端之家收集整理的这篇文章主要介绍了如何使用XML和ReadHTMLTable抓取多个页面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用XML包将芝加哥马拉松的结果刮成CSV.问题是该网站只能在一个页面显示1,000个跑步者,所以我必须刮掉多个页面.我到目前为止编写的脚本适用于第一页:
rm(list=ls())

library(XML)

page_numbers <- 1:1429
urls <- paste(
"http://results.public.chicagomarathon.com/2011/index.PHP?page",page_numbers,sep = "="
)

tables <-(for i in page_numbers){
readHTMLTable(urls)
}
n.rows <- unlist(lapply(tables,function(t) dim(t)[1]))

times <- tables[[which.max(n.rows)]]

如何使用此代码刮取所有21页以获得完整的结果.我应该使用for()循环还是lapply函数或其他东西,我在这里有点迷失.

谢谢!

页码添加到每个URL.
page_numbers <- 1:1429
urls <- paste(
  "http://results.public.chicagomarathon.com/2011/index.PHP?pid=list&page",sep = "="
)

现在遍历每个页面,抓取每个页面.使用for循环或* apply函数并不重要.参见例如R Inferno的圆圈4(pdf),以讨论’for’循环和’lapply’之间的区别.

原文链接:https://www.f2er.com/xml/293039.html

猜你在找的XML相关文章