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

设置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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值