爬虫实例2:手动设置cookie 爬取知乎50条热搜 利用base64库将每一条热搜新闻上的图片内容编码成base64编码

本文介绍了如何手动设置cookie来爬取知乎的50条热搜新闻,包括热搜标题、热度、URL和图片。通过构造请求头headers,创建session对象存储cookie,然后抓取所需字段。最后,将数据保存到本地文件,每个文件包含一条热搜的详细信息,图片内容以Base64编码形式存储。
摘要由CSDN通过智能技术生成

设置cookie:手动设置cookie值的方式有两种 一种通过往请求头headers里面添加cookie 另一种通过cookiejar设置cookie值 本文采取往请求头headers里面添加cookie

1-构造请求头headers

# 这里的cookie需要你登录知乎 在network里面的all找到hot 然后在请求头里面找到你登录的cookie值
header={
   
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',
    'cookie':cookie
}


2-创建session对象 将cookie值存入 方便之后不需要重复写入cookie

sess = requests.Session()
sess.headers = header
url = 'https://www.zhihu.com/hot'
r = sess.get(url)
#print(r.text)

3-接下来就是获取知乎热搜新闻上我们需要的字段 如热搜标题 热搜热度 热搜URL 热搜图片

selector = etree.HTML(r.text)

eles = selector.cssselect('div.HotList-list>section')

#total_ls=[]
for index,ele in enumerate(eles):
    #print(index+1)
    #temp_dict={}
    # 取第一个  因为是列表  所以把列表第一个值取出来 然后将列表转为普通的元素
    title = ele.xpath('./div[@class="HotItem-content"]/a/h2/text()')[0]
    #print(title)
    url = ele.xpath('./div[@class="HotItem-content"]/a/@href')[0]
    #print(url)
    hot = ele.xpath
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值