python下的网页数据请求

Requests

pip install requests 来安装requests
requests官方doc:各功能模块的简介,叙述清楚,在左栏可以选择chinese版本的doc翻译 。

cookie使用


  • 使用requests方法+ cookies参数
    引自requests中的官方文档:

To send your own cookies to the server, you can use the cookies parameter:
>>> url = ‘http://httpbin.org/cookies
>>> cookies = dict(cookies_are=’working’)
>>> r = requests.get(url, cookies=cookies)
>>> r.text
‘{“cookies”: {“cookies_are”: “working”}}’
Cookies are returned in a RequestsCookieJar, which acts like a dict but also offers a more complete interface, suitable for use over multiple domains or paths. Cookie jars can also be passed in to requests:
>>> jar = requests.cookies.RequestsCookieJar()
>>> jar.set(‘tasty_cookie’, ‘yum’, domain=’httpbin.org’, path=’/cookies’)
>>> jar.set(‘gross_cookie’, ‘blech’, domain=’httpbin.org’, path=’/elsewhere’)
>>> url = ‘http://httpbin.org/cookies
>>> r = requests.get(url, cookies=jar)
>>> r.text
‘{“cookies”: {“tasty_cookie”: “yum”}}’

requests+cookies参数的方法,不能起到cookie持久化的作用,换言之,需要每次请求都带上cookies参数。

用requests的session方法保持cookie的时候发现requests不能保持手动构建的cookie。起初以为requests只能自动保持由服务器返回的set-cookie语句中的cookie。后来查了很多资料,才终于明白。原来requests只能保持 cookiejar 类型的cookie,而我们手动构建的cookie是dict类型的
cookie dict和 cookiejar的互换

cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)


cookies = requests.utils.dict_from_cookiejar(r.cookies)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值