html=response.text#得到网页的文本形式
print(html)
这里的请求头信息必须添加上cookie的信息,否则无法得到网页信息
网页的请求结果如下图所示,红色框标出的为我们需要的文章标题以及文章链接
2、解析网页
从得到的网页响应结果中我们可以看到,每篇文章的标题和链接都分别在"title"标签和"cover"标签后面,所以我们可以采用正则表达式直接对其进行解析
title=re.findall(‘“title”:“(.*?)”’,html)#得到文章标题
cover=re.findall(‘“cover”:“(.*?)”’,html)#得到文章链接
all=zip(title,cover)#利用zip方法,将两个列表中的数据一一对应
print(list(all))#list是对zip方法得到的数据进行解压
解析后结果如下
3、保存数据
for data in all:#for循环遍历列表
time.sleep(3)#每爬取一篇文章间隔3秒,以防触发反爬
with open(‘C:UsersAdministratorDesktop爬取公众号文章.csv’,‘a’,encoding=‘utf-8-sig’) as file:
#将数据保存到桌面
write=csv.writer(file)
write.writerow(data)
完整代码
import re#用来解析网页
import requests#用来请求网页
import csv#用来保存数据