写在前面
如果对你有帮助的话,可以给我点个赞吗。
首先我们要有R这个软件,如果你没有,可以看看这篇博客,先把R装上:https://blog.csdn/qq_44762986/article/details/112283710
装上之后我们进入正题
一、单一网页的爬取
#加载程序包
library (stringi)
library (stringr)
library (selectr)
library (httr)
library (xml2)
library (rvest)
#爬取
w="http://vr.sina/2021-03-16/doc-ikkntiam3038485.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
#read_html()函数负责读取网页,html_nodes()负责筛选出相应标签,html_text()负责抓出标签内文本
#去除无用信息
web=web[2:52]
web
#储存
write.table(web,"C:\\Users\\ljh30\\Desktop\\315晚会.txt")
解释
w="http://vr.sina/2021-03-16/doc-ikkntiam3038485.shtml"
引号部分是要爬取的网页,我爬的是一个关于315晚会的新闻,这个网页的格式:utf-8
你要是换成别的网页,可以查看一下这个网页的编码。
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
#read_html()函数负责读取网页,html_nodes()负责筛选出相应标签,html_text()负责抓出标签内文本
注释部分已经解释的差不多了,中间这个“%>%”是一个管道函数
%>%来自dplyr包的管道函数,其作用是将前一步的结果直接传参给下一步的函数,
从而省略了中间的赋值步骤,可以大量减少内存中的对象,节省内存。
符号%>%,这是管道操作,其意思是将%>%左边的对象传递给右边的函数,作为第一个选项的设置。
想要更多的了解可以在网上查一查,这是我在网上查的网页
https://zhidao.baidu/question/176755516361815724.html
https://www.jianshu/p/c65dbce983dd
https://blog.csdn/zhaozhn5/article/details/79001384
web=web[2:52]
为什么会有这一行代码呢,我们可以查看一下爬取的结果
可以看出只有第二行到第52行是对我们有用的信息,所以保留下来
write.table(web,"C:\\Users\\ljh30\\Desktop\\315晚会.txt")
把这个网页爬下来放在桌面,形成一个txt文档
你也可以把它放在想放的位置上
如果你不知道桌面在什么位置,可以新建一个空白的txt文档,然后鼠标右键,查看属性,就可以看到桌面的位置了,然后再将你的txt文档命名
二、多个网页的爬取
这个和单一网页的爬取大同小异,这次爬取的是十个网页,并存入一个文件夹中。
#加载程序包
library (stringi)
library (stringr)
library (selectr)
library (httr)
library (xml2)
library (rvest)
#爬取01
w="http://www.12371/2021/02/20/ARTI1613823744228513.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
#read_html()函数负责读取网页,html_nodes()负责筛选出相应标签,html_text()负责抓出标签内文本
web=gsub("\r|\n|\t"," ",web)#去除无用信息
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\01.txt")#储存
#02
w="http://www.12371/2021/02/19/ARTI1613714294390908.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\02.txt")
#03
w="http://www.12371/2021/02/03/ARTI1612327544730992.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\03.txt")
#04
w="http://www.12371/2020/10/23/ARTI1603451105057606.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\04.txt")
#05
w="http://www.12371/2020/10/19/ARTI1603115252916811.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\05.txt")
#06
w="http://www.12371/2020/09/03/ARTI1599135117814625.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\06.txt")
#07
w="http://www.12371/2020/07/23/VIDE1595468761097667.shtmlshtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\07.txt")
#08
w="http://www.12371/2020/06/30/ARTI1593491078075287.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\08.txt")
#09
w="http://www.12371/2019/08/07/ARTI1565146428743841.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\09.txt")
#10
w="http://www.12371/2020/09/14/ARTI1600080983856574.shtml"
web<-read_html(w,encoding="utf-8") %>% html_nodes("p") %>% html_text()
web=gsub("\r|\n|\t"," ",web)
write.table(web,"C:\\Users\\ljh30\\Desktop\\党史学习\\10.txt")
更多推荐
【R】用R软件对网页进行爬取
发布评论