AttributeError: module 'requests.cookies' has no attribute 'ReqiestCookieJar'
学习目标
我在利用python爬虫使用Cookies通过分割成多个cookie来登录某乎时,在进行对Cookies进行分割时出现的问题。
报错背景
AttributeError: module ‘requests.cookies’ has no attribute ‘ReqiestCookieJar’ 这个requests.cookies的模块没有这个ReqiestCookieJar函数。 我是对着资料书来学习的,和源码一模一样
报错提示
AttributeError: module ‘requests.cookies’ has no attribute 'ReqiestCookieJar’3
报错原因
没有对应的函数
目前解决办法
① 图上是网上的解决方案,提示我需要更新requests library,但是并没有解决我的问题
②我的解决方法:换个模块找函数
from requests.sessions import RequestsCookieJar
就是这个模块,可以实现我要的效果。
源码
F12 → 网络
如何找Cookies
每个浏览器都不一样感觉
如何找User-Agent
代码
没有使用Cookies时,爬取页面只有框架
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>openresty</center>
</body>
</html>
import requests
r = requests.get('https://www.zhihu.com')
print(r.text)
使用cookie后,可以爬取页面的内容
分割前
headers = {
'Cookie': '你的cookies'
'User-Agent': '你的浏览器的标识',
'Host': 'www.zhihu.com',
}
r = requests.get('https://www.zhihu.com',headers=headers)
print(r.text)
分割后
headers = {
'User-Agent': '你的浏览器的标识',
'Host': 'www.zhihu.com',
}
jar = RequestsCookieJar()
cookies ='你的cookies'
for cookie in cookies.split(';'):
key, value = cookie.split('=', 1)
jar.set(key, value)
r = requests.get('https://www.zhihu.com',headers=headers)
print(r.text)
结果
输出的是网页的字节流数据
|