视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium
在某些需要登录的网站或者或者应用,假如我们需要抓取登录后的内容,技术上本质通过session会话实现。服务器端存会话信息,浏览器通过Cookie携带客户端访问用户信息,来实现会话机制。
requests对Cookie有很好的支持。
我们看一个实例。
http://download.java1234.com/
这个网站,假如需要看抓取登录后的用户下载的资源信息
http://download.java1234.com/user/userDownload/list/1
这时候的思路是先post方式登录系统,获取返回的cookie,然后我们带上cookie再请求用户下载资源信息url。
参考代码:
import requestsurl = "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)