1、爬虫目标
大家普遍认为Python的爬虫功能强大,但在解决动态加载或者登陆网站时,Python存在一定困难的,相对于一些普通爬虫,使用R语言会更方便。
以https://www.thepaper.cn/为例,爬取首页的新闻(标题、内容、时间),主要采用的是动态网页中常用的httr包。
初始学习时,参考了B站《20分钟入门基于R语言的网络爬虫_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili》的视频,但代码运行出现了报错,所以在原代码上做了修改。
2、代码分析及报错修改
library(rvest)
library(stringr)
url <-"https://www.thepaper.cn/"
web <- read_html(url) #读取html网页的函数
news <- web %>% html_nodes('h2 a')
title <- news %>% html_text() #获取其中的文字部分
link <- news %>% html_attrs() #获取每个标题对应的网址
link1 <- c(1:length(link))
for(i in 1:length(link1))
{
link1[i]<- link[[i]][1]
}
link2 <- paste("https://www.thepaper.cn/",link1,sep="")
##获得每条