zoukankan      html  css  js  c++  java
  • 【转】python requests库添加自定义cookie的方法

    requests库是个很方便的爬虫,相关文档已经很详细了。
    不过我今天在爬网页时,有一个网站是在脚本中添加cookie的,但我向requests.cookies里添加cookie费了不少周折。尝试了多个方法,这些方法都各有一些缺点。最终找到一个完全符合需求的方法。今天尝试的各种方法如下:


    1. 类似操作dict


    s = requests.Session()
    s.cookies['cookie-name'] = 'cookie-value'
    可以添加cookie,不会清除原cookie
    缺点:不能设置path、domain等参数。

    2. requests.cookies.set() 函数

    s.cookies.set('cookie-name', 'cookie-value', path='/', domain='.abc.com')
    优点:不能设置path、domain等参数。
    缺点:会清除原有cookie。

    3. 网上有文章说可以发一次请求,把新的cookie加在请求中,然后就会自动把新的cookie和原有的cookie混合。但我试过后发现无效。

    4. requests.utils.add_dict_to_cookiejar(cj, cookie_dict)

    c = {'cookie-name' : 'cookie-value'}
    requests.utils.add_dict_to_cookiejar(s.cookies, c)
    缺点:不能设置path、domain等参数。

    最后经过仔细研究,终于找到 requests.cookies.update() 函数
    5. requests.cookies.update()

    c = requests.cookies.RequestsCookieJar()
    c.set('cookie-name', 'cookie-value', path='/', domain='.abc.com')
    s.cookies.update(c)
    终于完美解决了我的需求。
    ---------------------
    from:https://blog.csdn.net/tianking/article/details/51248941

  • 相关阅读:
    VMware下Linux配置网络
    前端知识之查漏补缺二
    前端网络基础查漏补缺篇
    简单实现Promise
    前端知识之查漏补缺-1
    git tag
    云服务器安装node环境 mysql nginx
    js动画
    vue原理之双向绑定虚
    js的封装、继承与多态
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/11334173.html
Copyright © 2011-2022 走看看