R语言爬虫2

接上篇。

参考文章

大道无形x我有型的文章

安装R包rvest与xml2

install.packages("xml2"); library("xml2")
install.packages("rvest"); library("revst")

爬取数据

以新浪网为例 http://finance.sina.com.cn/roll/index.d.html?cid=56589&page=1
使用嵌入selectorgadget插件的谷歌浏览器打开网页,在空白处右键,查看源码。找到该网页的编码方式——“charset",charset是啥意思,我也不清楚,但我搜到了介绍charset的文章。

image.png

如上图所示,"charset=utf-8",这表明该网页字符编码类型是UTF-8。然后我们把这个网站R语言:

#指定网址
> url<-"http://finance.sina.com.cn/roll/index.d.html?cid=56589&page=1"
#指定编码类型
> webpage<-read_html(url,encoding = "utf-8") 
#看看webpage是个什么玩意
> class(webpage)
[1] "xml_document" "xml_node" 
#至此把网页读进了R

点击右上角的selectorgadget图标选取网页元素,参考教程选取的第一个,我这里也选取第一个


image.png

下方出现了个框


image.png

这a啥意思?不知道。继续跟着教程往下走吧。
#告诉R我们想爬取网页的节点
> news_html<-html_nodes(webpage,"a")
> class(news_html)
[1] "xml_nodeset"
> head(news_html)
{xml_nodeset (6)}
[1] 财经首页
[4] 新浪首页
[5] 新浪导航
[6] 沪深股票
#提取文本
> news<-html_text(news_html)
> head(news)
[1] ""         ""         "财经首页" "新浪首页" "新浪导航" "沪深股票"

因为网页中有很多图片,html_text只把文字提取出来了。rvest,xml2包还有很多功能可以研究,这篇文章只是重复一位大佬的教程,他的教程后面还有很多我不明白的地方就不在这里重复了。

你可能感兴趣的:(R语言爬虫2)