session
在 requests 里,session对象是一个非常常用的对象,这个对象代表一次用户会话:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。
会话能让我们在跨请求时候保持某些参数,比如在同一个 Session 实例发出的所有请求之间保持 cookie 。
import requests
import re
import json
session =requests.Session()
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36"}
url = "https://www.zhihu.com/"
data = {"phone_num": "手机号", "password": "密码"}
response = session.get(url, headers=headers)
html = response.text
# print(html)
get_xsrf_pattern = re.compile(r'<input type="hidden" name="_xsrf" value="(.*?)"')
print(get_xsrf_pattern)
_xsrf = re.findall(get_xsrf_pattern, html)[0]
data["_xsrf"] = _xsrf
login_url = "https://www.zhihu.com/people/lian-hai-feng-41/activities"
result = session.post(url=login_url, data=data, headers=headers)
print(result.status_code)
res = json.loads(result.text)
print(res)
本文介绍如何使用Python的requests库中的Session对象实现知乎网站的登录过程。通过保持会话状态,可以实现跨请求时某些参数的持久化,例如cookie。文章提供了一个具体的示例代码,演示了从获取_xsrf值到完成登录的全过程。
6822

被折叠的 条评论
为什么被折叠?



