设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 42|回复: 5

python的这个代码怎么使用,谁帮我写个demo

[复制链接]

714

主题

5386

回帖

1万

积分

论坛元老

积分
13022
发表于 2020-1-9 08:14:32 | 显示全部楼层 |阅读模式
本帖最后由 今晚我是你的 于 2020-1-9 08:51 编辑

这个封装的怎么使用

https://www.jianshu.com/p/805ee506e0cf


使用python的requests开发爬虫类程序时,经常需要将之前请求返回的set-cookie值,作为下一个请求的cookie发送。比如模拟登录之后的返回的sessionId,就需要作为后续请求的cookie参数。

网上找了一圈,发现很多说需要手动添加或设置cookie的值。殊不知cookie是与域名、路径先关的,而且具有有效期。手动操作很容易掉坑里。。。

之前做C#时就有一个CookieContainer类可以自动处理cookie,照理requests的RequestsCookieJar应该也有类似的作用。研究了下发现其实requests组件确实具有自动处理cookie的能力,而且一句update代码就能搞定:

[ol]
  • def __init__(self):
  •         self.cookies = requests.cookies.RequestsCookieJar()
  •     def go(self, url, method, post_data):
  •             response = requests.request(method, url
  •                                         , data=post_data
  •                                         , headers=info.headers
  •                                         , cookies=self.cookies) #传递cookie
  •             self.cookies.update(response.cookies) # 保存cookie[/ol]复制代码



  • 回复

    使用道具 举报

    0

    主题

    8

    回帖

    18

    积分

    新手上路

    积分
    18
    发表于 2020-1-9 08:20:22 | 显示全部楼层
    用requests的session,同一个session内自动保存cookie下一次发送
    回复

    使用道具 举报

    12

    主题

    63

    回帖

    174

    积分

    注册会员

    积分
    174
    发表于 2020-1-9 08:31:16 | 显示全部楼层
    2楼正解

    s = requests.Session()
    s.get(xxxxx)
    回复

    使用道具 举报

    155

    主题

    2193

    回帖

    5019

    积分

    论坛元老

    积分
    5019
    发表于 2020-1-9 08:32:35 | 显示全部楼层
    楼上说完了  我也没啥说的了
    回复

    使用道具 举报

    714

    主题

    5386

    回帖

    1万

    积分

    论坛元老

    积分
    13022
     楼主| 发表于 2020-1-9 08:34:00 | 显示全部楼层

    一颗赛艇 发表于 2020-1-9 08:31

    2楼正解

    s = requests.Session()

    谢谢,正在学习。
    回复

    使用道具 举报

    714

    主题

    5386

    回帖

    1万

    积分

    论坛元老

    积分
    13022
     楼主| 发表于 2020-1-9 08:44:31 | 显示全部楼层

    wangjiankai 发表于 2020-1-9 08:20

    用requests的session,同一个session内自动保存cookie下一次发送

    这个不管用。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-12-22 00:20 , Processed in 0.019194 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表