目录
1.使用request的post进行登录
2.审查元素查找网页的用户名和密码的键名
3.get方法获取网页静态内容
4.查找动态js对应XHR响json文件(str数据格式)的网址接口
5.使用json.loads解码str数据格式为python的数据类型
1.使用request的post进行登录
python爬虫使用request库登录网页时,使用post方法(密码存储在header中更安全),获取网页内容时,使用get方法(网址与params字符串拼接是明文)
image.png
2.审查元素查找网页的用户名和密码的键名
登录的关键点在于要知道网址账号和密码json对应的键名
比如有的网站用户名和密码的键名是passport,password;有的是username,password等等
通过网页登录的时候按F12,选择network,勾选Preserve log。在name列表中找到login文件或者其它文件,点击login文件,查看Headers中的request Header中的内容,寻找含义username和password的字眼,这个就是关键字,然后构造json数据结构,把账号密码填进去。
如果没有login文件,就查看其它文件的header,如果所有文件都没有,可以查看view source,在里面搜索看看。
查看账号和密码的键名是post登录的关键
postData = {
"username": "[2122@qq.com](mailto:2122@qq.com)",
"password": "123qwe",
}#username和password需要在网页端登录后按F2查看
# 使用session直接post请求
responseRes = gerrit.post(postUrl, data = postData, headers = header)
建议采用简书作为网站测试,知乎的这个关键字通过js加密了!