Python知识分享网 - 专业的Python学习网站 学Python,上Python222
requests之Cookie
发布于:2023-10-29 20:39:24

2024 一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium

https://www.bilibili.com/video/BV1Ju4y1Y7k6/

 

在某些需要登录的网站或者或者应用,假如我们需要抓取登录后的内容,技术上本质通过session会话实现。服务器端存会话信息,浏览器通过Cookie携带客户端访问用户信息,来实现会话机制。

requests对Cookie有很好的支持。

我们看一个实例。

http://download.java1234.com/

这个网站,假如需要看抓取登录后的用户下载的资源信息

http://download.java1234.com/user/userDownload/list/1

 

这时候的思路是先post方式登录系统,获取返回的cookie,然后我们带上cookie再请求用户下载资源信息url。

参考代码:

import requests

url = "http://download.java1234.com/user/login"

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'
}

data = {
    'userName': 'python222',
    'password': '123456'
}

r = requests.post(url=url, data=data, headers=headers)

print(r.text)
print(r.headers)
cookieJar = r.cookies
for c in cookieJar:
    print(c.name, c.value)

targetUrl = "http://download.java1234.com/user/userDownload/list/1"

r2 = requests.get(url=targetUrl, headers=headers, cookies=cookieJar)
print(r2.text)

 

转载自: