ITPub博客

首页 > > > R语言网络爬虫标准

R语言网络爬虫标准

作者:浪花小雨滴 时间:2017-11-26 14:24:34 0 删除 编辑

声明:本文仅代表在2017年11月最新的比较有效的方法。


1.数据爬取

package: rvest/httr

rvest:
read_html(url)

httr:
GET(url,handle=handle(url)) %>% 
content(at="parse", encoding=stringi::stri_enc_detect(content(., "raw"))[[1]][1])

2.节点搜索

package: rvest
html_nodes()   #CSS/xpath
html_text()/html_attr()/html_attrs()/html_table()

3.规则提取(正则表达式)

package: stringr
str_extract() %>% str_sub() %>% str_trim %>% str_replace()

4.合并保存

alldata=data.frame()
list(link,year,titlecn,authorcn,instcn,abscn,keywordscn,titleen,absen,keywordsen,corauthor,date)->a  
a[lapply(a,length)==0]=NA
a[lapply(a,length)>1]=str_c(a[lapply(a,length)>1],collapse="##")
as.data.frame(a,fix.empty.names=F)->b
rbind(alldata,b)->alldata

5.进度条

pb <- tkProgressBar("进度","已完成 %", 0, 100) 
#显示进度条
  info<- sprintf("%s年 %d / %d 已完成 %d%%", year,i,length(wlinks),round(j*100/length(ylink))) 
   setTkProgressBar(pb, j*100/length(ylink), sprintf("进度 (%s)", info),info) 

6.设置延迟

Sys.sleep(0.75)

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    39823