2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【入门-R爬虫抓取数据】文本挖掘之数据爬虫

【入门-R爬虫抓取数据】文本挖掘之数据爬虫

时间:2022-02-21 03:43:05

相关推荐

【入门-R爬虫抓取数据】文本挖掘之数据爬虫

今天主要介绍一下,文本挖掘的数据获取方式,上一篇很多人在问数据如何获取,今天给大家介绍下数据获取的方式,主要利用爬虫抓取数据。基于,之前对python爬虫没接触过,尝试过用R爬虫,今天就来介绍下,如何用R爬取股吧的评论数据,关于R爬虫网上也有很多参考资料,在参考了网上大神的思路方法后,自己尝试了对股吧数据进行爬取,结果爬取下来的数据还是比较规范,能够满足我的分析需求的。

R进行爬虫,经常用的包有RCurl和rvest两个包,这里我主要介绍rvest包爬虫,大致的思路其实是一样的,爬虫之前需要对网页有个基本的了解,会查看网页相应的审核元素,找到相应的节点所在的位置,找到节点的类型class,这些了解了,后面爬虫就会得心应手很多。不多说了,先上代码吧。

library(rvest)

library(xml2)

library(sqldf)

library(gsubfn)

library(proto)

library(RSQLite)

library(DBI)

library(data.table)

library(stringr)

extradata<-function(i,non_pn_url){

url<-paste0(non_pn_url,i)##先给一个没有页码的网页#

web<-html(url)#通过html解析网页##

title<-web %>% html_nodes("div.articleh span.l3 a")%>%html_text()%>% .[c(seq(1,86,1))] %>% as.character()##找到评论数据对应的节点类型,匹配获取节点##

paperlink<-gsub("\\?source\\=search","",web %>% html_nodes("div.articleh") %>% html_attr("href"))%>% .[c(seq(2,20,2))]##获取网页跳转连接##

paperlink<-paste0("/",paperlink) %>% as.character()###输入无页码链接 ##

author<-web %>% html_nodes("div.articleh span.l4") %>% html_text()##匹配获取作者的class节点

posttime<-web %>% html_nodes("div.articleh span.l6") %>% html_text()

update_time<-web %>% html_nodes("div.articleh span.l5") %>% html_text()

count_of_comment<-web %>% html_nodes("div.articleh span.l2") %>% html_text()

count_of_read<-web %>% html_nodes("div.articleh span.l1") %>% html_text()

data.frame(title,author,posttime,update_time,count_of_comment,count_of_read)##构造一个数据框##

}

finaldata<-data.frame()

url<-'/list,002373.html?from=BaiduAladdin'##获取有页码的第一页的链接

for(i in 1:25){

extradata(i,url)

finaldata<-rbind(finaldata,extradata(i,url))

}##这里是抓取了25页的数据#

finaldata1<-as.data.frame(finaldata)

names(finaldata)

dim(finaldata1)

head(finaldata)

最后来看看爬虫抓取的数据效果

爬虫内容今天就介绍到这里,后续有新的发现在跟进 ,希望小伙伴们多提提意见,这里也感谢参考的牛人大神们的分享。

文章改编自《文本挖掘之数据爬虫》

原文链接:/community/subjectDetails/175

欢迎加入京东金融量化官方交流群:456448095,有任何问题和建议均可讨论交流。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。