原标题:R语言爬虫常用方法总结(以案例说明)
现在大家对爬虫的兴趣不断高涨,R和PYTHON是两个非常有力的爬虫工具。Python倾向于做大型爬虫,与R相比,语法相对复杂,因此Python爬虫的学习曲线会相对陡峭。对于那些时间宝贵,又想从网上获取数据的初学者而言,用R做爬虫是最好的选择,有三个原因:1、R语法相对直观,规则更加灵活;2、对于数据量不大的用户来数(小于百万级),R也能够非常自如地处理;3、先学习R爬虫,等熟悉爬虫的原理之后,在过渡到Python是很容易的。
这篇博文你会学到什么:
使用XML抓取表格数据(爬取勇士队球员数据)
使用rvest抓取网页数据(爬取关于特朗普的百度新闻)
使用jsonlite抓取json格式数据(爬取高德地图温州各个行政区域的中心)
使用RSelenium模拟登录抓取数据(模拟登录人大经济论坛爬取R语言板块数据)
使用PhantomJS不登陆抓取数据(抓取国家数据各省的近13个月CPI)
另外你也会学到一些数据处理的小技巧表格数据抓取
表格数据是最容易抓取的数据格式,直接使用XML包中的readHTMLTable函数,一页中的多个表格会使用列表的形式存储,在使用readHTNLTable的时候,header=T可以标记出所抓取的表格是列名,大多说情况抓过来表格的列名是乱码的,你可以使用rvest::repair_encoding对它们进行修复。爬取勇士队球员数据的代码如下:
#抓取表格数据(抓取勇士队的球员数据)
library(XML)
url <-"http://www.stat-nba.com/team/GSW.html"
dt1 <- readHTMLTable(url,header = T)
names(dt1[[1]]) <- rvest::repair_encoding(names(dt1[[1]]))
head(dt1[[1]])
球员 出场 首发 时间 投篮 命中 出手 三分 命中 出手 罚球 命中 出手 篮板
1凯文-杜兰特121234.753.8%8.916.646.7%2.96.386.9%4.45.17.5
2斯蒂芬-库里131332.446.7%7.516.238.8%3.69.394.4%6.56.84.7
3克莱-汤普森131332.951.4%8.516.547.1%3.77.875.0%0.50.63.8
4德雷蒙德-格林131329.849.5%3.57.035.7%1.23.279.4%2.12.67.9
5大卫-韦斯特12011.368.6%2.94.375.0%0.30.380.0%0.70.82.3
6尼克-杨12013.044.1%2.24.941.7%1.74.060.0%0.30.41.0
前场 后场 助攻 抢断 盖帽 失误 犯规 得分
10.86.84.90.62.43.42.325.2
20.54.26.71.80.22.62.225.2
30.53.42.70.70.81.82.221.1
41.16.86.71.01.33.23.010.2
51.01.31.30.71.41.41.66.8
60.30.80.90.80.10.41.16.3rvest抓取网页数据
rvest是R用户使用率最多的爬虫包,它简洁地语法可以解决大部分的爬虫问题。它的使用方法比