用python cookies模拟登陆知乎
时间: 2024-01-26 17:08:52 浏览: 98
可以的,你可以使用 Python 的 requests 库来发送 HTTP 请求,包括 GET 和 POST 请求。首先,你需要发送一个 GET 请求来获取一个名为 _xsrf 的参数,然后将该参数与用户名和密码一起发送 POST 请求以模拟登录。具体的代码如下:
```python
import requests
import re
# 构造会话,保持会话一致性
s = requests.Session()
# 发送 GET 请求,获取 _xsrf 参数
url = 'https://www.zhihu.com/signup'
html = s.get(url).text
_xsrf = re.search(r'name="_xsrf" value="(.+?)"', html).group(1)
# 发送 POST 请求,模拟登录
url = 'https://www.zhihu.com/login/email'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Referer': 'https://www.zhihu.com/signup',
'X-Xsrftoken': _xsrf,
'X-Requested-With': 'XMLHttpRequest',
}
data = {
'_xsrf': _xsrf,
'email': 'your_email',
'password': 'your_password',
'remember_me': 'true',
}
response = s.post(url, headers=headers, data=data)
print(response.content.decode('utf-8'))
```
注意,你需要将 `your_email` 和 `your_password` 替换为你自己的知乎账号和密码。此外,为了模拟浏览器,我们需要设置 User-Agent 头,以避免被识别为爬虫并被封禁。
阅读全文