以下链接包含巴黎马拉松的结果:http://www.schneiderelectricparismarathon.com/us/the-race/results/results-marathon . 我想抓取这些结果,但信息在一个框架内 . 我知道使用Rvest和Rselenium进行刮擦的基础知识,但我对如何在这样的框架内检索数据毫无头绪 . 为了得到一个想法,我尝试的其中一件事是:
url = "http://www.schneiderelectricparismarathon.com/us/the-race/results/results-marathon"
site = read_html(url)
ParisResults = site %>% html_node("iframe") %>% html_table()
ParisResults = as.data.frame(ParisResults)
任何帮助解决这个问题都是非常受欢迎的!
1 回答
结果由以下url中的ajax加载:
PS:我不知道ajax究竟是什么,我只知道rvest的基础知识
编辑:为了回答评论中的问题:我没有很多网络抓取经验 . 如果您只使用rvest或xml的非常基本的技术,您必须了解更多的网站,并且每个站点都有自己的结构 . 对于这个,我是这样做的:
class =“iframe-xdm iframe-resultats”data-href =“http://www.aso.fr/massevents/resultats/index.php?langue=us&course=mar16&version=3”
现在你可以直接使用这个网址:http://www.aso.fr/massevents/resultats/index.php?langue=us&course=mar16&version=2
但你仍然可以得到结果 . 然后,您可以使用Chrome开发人员工具>网络> XHR . 刷新页面时,您可以看到数据是从此URL加载的(当您选择Men类别时):http://www.aso.fr/massevents/resultats/ajax.php?course=mar16&langue=us&version=2&action=search&fields%5Bsex%5D=F&limiter=&order=
现在你可以得到结果!
如果您想要第二页等,您可以点击页面编号,然后使用开发人员工具查看会发生什么!