R语言:使用rvest包进行数据简单抓取

本文主要介绍用rvest包对天气后报网的空气数据进行简单的抓取。
具体代码如下:

library(rvest)
html_session("http://www.tianqihoubao.com/aqi/chengdu-201612.html") 
url1 <-"http://www.tianqihoubao.com/aqi/chengdu-201601.html"
url2 <-"http://www.tianqihoubao.com/aqi/chengdu-201602.html"
url3 <-"http://www.tianqihoubao.com/aqi/chengdu-201603.html"
url4 <-"http://www.tianqihoubao.com/aqi/chengdu-201604.html"
url5 <-"http://www.tianqihoubao.com/aqi/chengdu-201605.html"
url6 <-"http://www.tianqihoubao.com/aqi/chengdu-201606.html"
url7<-"http://www.tianqihoubao.com/aqi/chengdu-201607.html"
url8 <-"http://www.tianqihoubao.com/aqi/chengdu-201608.html"
url9 <-"http://www.tianqihoubao.com/aqi/chengdu-201609.html"
url10 <-"http://www.tianqihoubao.com/aqi/chengdu-201610.html"
url11 <-"http://www.tianqihoubao.com/aqi/chengdu-201611.html"
url12 <-"http://www.tianqihoubao.com/aqi/chengdu-201612.html"
fun <- function(x){web<-html(x,encoding="gb2312")
                   qq <- web %>% html_nodes("td") %>% html_text() 
                   m <- matrix(qq,nrow=10)                       
                   p <- t(m)                                      
                   p <- iconv(p,"utf-8","gbk")                   
                   p <- gsub("^\\s+|\\s+$","",p)                  
                   p[-1,]
                   }
p <- rbind(fun(url1),fun(url2),fun(url3),fun(url4),fun(url5),fun(url6),
           fun(url7),fun(url8),fun(url9),fun(url10),fun(url11),fun(url12))
write.table(p,file="p.txt")

搜索结果如下图:
这里写图片描述

上述中批量的网址可以用paste0()函数+循环语句来实现。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值