求大佬解答学习python爬虫在浏览器审查元素怎么找到自己需要的东西
我现在正在学习post请求,比如我要用post请求登陆豆瓣,那么我怎么才能找到登陆的那个网页呢,我在network里面找到的我以为是登陆链接的链接,结果不是的,我需要怎么才能找到呢 不就是这个么? braga 发表于 2020-11-27 23:23不就是这个么?
不是这个,我用post请求登录的时候输出的就是一个只有4个元素的字典 本帖最后由 suchocolate 于 2020-11-28 10:33 编辑
得加cookie,cookie是js算出来的,不好逆向,就拿着浏览器的直接用吧。
import requests
def main():
url = 'https://accounts.douban.com/j/mobile/login/basic'
headers = {'user-agent': 'firefox',
'Cookie': 'll="118160"; bid=_JeiWjN-RWw; apiKey=; '
'__utma=30149280.998917971.1606530029.1606530029.1606530029.1; '
'__utmb=30149280.1.10.1606530029; __utmc=30149280; __utmz=30149280.1606530029.1.1.utmcsr=('
'direct)|utmccn=(direct)|utmcmd=(none); __utmt=1'}
data = {'ck': '', 'remember': 'true', 'name': '账户', 'password': '密码'}
r = requests.post(url, headers=headers, data=data)
print(r.json()['status'])
if __name__ == '__main__':
main()
另外豆瓣限制反复登陆,最好图形验证码验证和账号被限制的准备。 18508410033 发表于 2020-11-28 08:43
不是这个,我用post请求登录的时候输出的就是一个只有4个元素的字典
返回的就是个json 结构呀 然后不有成功与否的标志么,用session 自动存上cookie 就可以保证登陆状态了呀 suchocolate 发表于 2020-11-28 10:29
得加cookie,cookie是js算出来的,不好逆向,就拿着浏览器的直接用吧。
另外豆瓣限制反复登陆,最好图形验 ...
我依稀记得好像先用session 登陆一下那个登陆页面的网址 再发这个post请求就可以啦 本帖最后由 suchocolate 于 2020-11-30 20:13 编辑
braga 发表于 2020-11-28 15:56
我依稀记得好像先用session 登陆一下那个登陆页面的网址 再发这个post请求就可以啦
保持session的靠的就是获取并保持cookie suchocolate 发表于 2020-11-28 17:09
保持session的靠的就是获取并保持cookie
现在才看懂你们说的,我这么操作会弹出图形验证码,要怎么要来手动输入图形验证码呢 18508410033 发表于 2021-1-24 10:24
现在才看懂你们说的,我这么操作会弹出图形验证码,要怎么要来手动输入图形验证码呢
requests没有手工输入的机制,得用selenium模拟浏览器行为才行。
另外如果想自动识别验证码,简单的用tesserocr识别,复杂的可能得找第三方付费识别。
https://github.com/Python3WebSpider/Python3WebSpider
上面的第7章讲模拟浏览器,里面有自动输入,你可以在找到元素的时候暂停,然后手工输入,再让程序运行,就算手工输入了。
第8章有讲如何识别验证码。
页:
[1]