爬虫中设置cookie保持登录状态

Cookie简介

Cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。用于服务器识别区分不同客户端,从而做出不同的相应,返回不同页面。

接下来要爬取本人QQ空间数据,对比设置Cookie和不设置Cookie的爬取效果
不设置cookie进行爬取

首先找到服务器给自己设置的Cookie,程序没有cookie去访问服务器时,服务器检测不到相应的cookie,则会返回一个登录的页面

from urllib import request


def main():
    my_profile = 'https://user.qzone.qq.com/我的QQ号码'
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36',
    }
    req = request.Request(url=my_profile, headers=headers)
    res = request.urlopen(req)
    content = res.read()
    with open('login.html', 'w', encoding='utf-8') as f:
        f.write(content.decode('utf-8'))


if __name__ == '__main__':
    main()

爬取完成,保存到当前目录的login.html,双击打开。可以看到不设置Cookie,直接访问网站时,访问的是一个登录的页面
在这里插入图片描述

设置cookie进行爬取

首先找到服务器给自己设置的Cookie,程序带有cookie去访问服务器时,服务器检测到相应的cookie,会返回一个已经登录的页面
在这里插入图片描述

from urllib import request


def main():
    my_profile = 'https://user.qzone.qq.com/我的QQ号码'
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36',
        # 设置cookie保持登录状态
        'cookie':'pgv_pvi=8412289024; RK=jLhMzt3Cdx; ptcz=a8defb095fe0d097a6d1a28441745a7a1ff6f2022e7e365f5e1b47cf2b539687; pgv_pvid=6362010689; pgv_si=s7859980288; _qpsvr_localtk=0.3081990894105111; pgv_info=ssid=s3576019350; uin=o0269524963; skey=@p6zziRwc1; p_uin=o0269524963; pt4_token=muqBg8m4CuQLe5xRd5a4jvu1P0i1JBayZJfi1pJ8NW8_; p_skey=HwRtarJ-l1qwxh5y*NFX8msOAiTjjyRikpjLUblMKvc_; Loading=Yes'
    }
    req = request.Request(url=my_profile, headers=headers)
    res = request.urlopen(req)
    content = res.read()
    with open('profile.html', 'w', encoding='utf-8') as f:
        f.write(content.decode('utf-8'))


if __name__ == '__main__':
    main()

爬取完成,保存到当前目录的profile.html,双击打开。可以看到设置Cookie,直接访问网站时,访问的是一个已经登录的页面
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bugcoder-9905

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值