今天我们要讲怎么样用R写一个小的爬虫,来爬取网页中的表格。这里的网页指html页面。稍微百度一下大家就可以知道,html是一种高度结构化的文本标记语言。html表格所用的标签是
。所以我们的思路大概就是,找到html页面里面的标签
下面我们用一个例子来说明,https://www.basketball-reference.com/boxscores/201706010GSW.html,这个链接是2017 NBA总决赛第一场的数据,里面有好几个表格,我们要爬取的是这个,
当然你愿意的话也可以爬取其他表格,这个只是举个例子。
这种情况下有个问题要注意,你需要知道你爬取的是哪个表格,方法我们之后说。
代码:
#再如需要的package,做这个爬虫我们只需要这一个package就够了library(rvest)
#将目标URL赋予url变量url % html() %>% html_nodes(xpath = '//*[@id="box_gsw_basic"]') %>% html_table()
大家注意上面的「//[@id=”box_gsw_basic”]」,这个东西是什么?这个东西就是我刚才说的,我们需要知道我们要爬取的是哪个表格,需要通过身份标识来确定我们要爬取的表格,「//[@id=”box_gsw_basic”]」就是我们要爬取表格的身份标识。这是一个叫XPath的路径索引语言,是题外话了,以后可以讲。那么怎么样可以获取每个表格的身份标识呢,这就要感谢Chrome了。
打开刚才的网页,找到想要爬取的表格,随便把鼠标