【发布时间】:2016-12-17 08:01:09
【问题描述】:
我一直在尝试从网站 -Company list401.html 上抓取公司列表。我可以使用以下代码从该页面上刮下单个表格:
>fileurl = read_html("http://archive.fortune.com
/magazines/fortune/fortune500_archive/full/2005/1")
> content = fileurl %>%
+ html_nodes(xpath = '//*[@id="MagListDataTable"]/table[2]') %>%
+ html_table()
>contentframe = data.frame(content)
> view(contentframe)
但是,我需要从 2005 年回溯到 1955 年的所有数据以及从 1 到 500 家公司的列表,而该列表一次只显示 100 家公司和一年。我已经认识到对 url 的唯一更改是 "...fortune500_archive/full/" YEAR "/" 1、201,301 或 401(每个公司范围显示)。
我也知道我必须创建一个循环来自动为我收集这些数据,而不是在保存每个表后手动替换 URL。通过阅读其他帖子和观看视频,我尝试了一些 sapply 功能的变体,但没有一个对我有用,我迷路了。
【问题讨论】:
-
这是一种完全可以接受老式 for 循环的情况。
-
网络查询是这里的时间限制步骤。在这种情况下,我只会使用 FOR 循环。
-
欢迎您违反 ToS 第 7 项:subscription.timeinc.com/storefront/privacy/fortune/…(以及您鼓励其他人也违反上述 ToS)。
标签: r web-scraping html-table