1.将cookie值从f12上复制下来粘贴到test里面
import requests
# 打开所保存的cookies内容文件
f = open(r'test.txt', 'r')
# 初始化cookies字典变量
cookies = {}
# 按照字符:进行划分读取
for line in f.read().split(';'):
# 其设置为1就会把字符串拆分成2份
name, value = line.strip().split('=', 1)
# 为字典cookies添加内容
cookies[name] = value
res = requests.get(
"https://movie.douban.com/subject/26837952/comments?start=240&limit=20&sort=new_score&status=P",
cookies=cookies
).text
print(res)
2.session保存和使用cookie
相应里面的cookie值的获取
import requests
response = requests.get("http://www.baidu.com/")
# 7. 返回CookieJar对象:
cookiejar = response.cookies
# 8. 将CookieJar转为字典:
cookiedict=requests.utils.dict_from_cookiejar(cookiejar)
print(cookiejar)
print(cookiedict)
Sission
在 requests 里,session对象是一个非常常用的对象,这个对象代表一次用户会话:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。
会话能让我们在跨请求时候保持某些参数,比如在同一个 Session 实例发出的所有请求之间保持 cookie 。
实现人人网登录
import requests
# 1. 创建session对象,可以保存Cookie值
ssion = requests.session()
# 2. 处理 headers
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
# 3. 需要登录的用户名和密码
data = {"email":"mr_mao_hacker@163.com","password":"alarmchime"}
# 4. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
ssion.post("http://www.renren.com/PLogin.do", data = data)
# 5. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = ssion.get("http://www.renren.com/410043129/profile")
# 6. 打印响应内容
print(response.text)
网友评论