写在前面

如果对你有帮助的话,可以给我点个赞吗。

首先我们要有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软件对网页进行爬取