抓取的代码如下:
dist<-lapply(1:dim(PREF)[1],function(i){
url<-paste0('http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2015/',PREF[i,2])
web<-readLines(url,encoding="gb2312")
web<-iconv(web,"gb2312","UTF-8")
})
PREF是上一层抓的信息,大概长这样:
PROV_NAME PREF_LINK PREF_CODE PREF_NAME
1 北京市 11/1101.html 110100000000 市辖区
2 北京市 11/1102.html 110200000000 县
3 天津市 12/1201.html 120100000000 市辖区
4 天津市 12/1202.html 120200000000 县
5 河北省 13/1301.html 130100000000 石家庄市
6 河北省 13/1302.html 130200000000 唐山市
上面代码中的这个循环,如果从1:346就是上面的dim(PREF)[1]就会报错,但是如果以50为区间就可以跑遍。
我开始以为可能是一次访问失败,加入了循环和url.exist判断,还是不成功,所以是因为频繁访问被服务器拒绝了吗?求大神帮助


雷达卡



京公网安备 11010802022788号







