18508410033 发表于 2020-11-27 22:17:40

求大佬解答学习python爬虫在浏览器审查元素怎么找到自己需要的东西

我现在正在学习post请求,比如我要用post请求登陆豆瓣,那么我怎么才能找到登陆的那个网页呢,我在network里面找到的我以为是登陆链接的链接,结果不是的,我需要怎么才能找到呢

braga 发表于 2020-11-27 23:23:55

不就是这个么?

18508410033 发表于 2020-11-28 08:43:25

braga 发表于 2020-11-27 23:23
不就是这个么?

不是这个,我用post请求登录的时候输出的就是一个只有4个元素的字典

suchocolate 发表于 2020-11-28 10:29:22

本帖最后由 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()
另外豆瓣限制反复登陆,最好图形验证码验证和账号被限制的准备。

braga 发表于 2020-11-28 15:53:43

18508410033 发表于 2020-11-28 08:43
不是这个,我用post请求登录的时候输出的就是一个只有4个元素的字典

返回的就是个json 结构呀 然后不有成功与否的标志么,用session 自动存上cookie 就可以保证登陆状态了呀

braga 发表于 2020-11-28 15:56:06

suchocolate 发表于 2020-11-28 10:29
得加cookie,cookie是js算出来的,不好逆向,就拿着浏览器的直接用吧。
另外豆瓣限制反复登陆,最好图形验 ...

我依稀记得好像先用session 登陆一下那个登陆页面的网址 再发这个post请求就可以啦

suchocolate 发表于 2020-11-28 17:09:01

本帖最后由 suchocolate 于 2020-11-30 20:13 编辑

braga 发表于 2020-11-28 15:56
我依稀记得好像先用session 登陆一下那个登陆页面的网址 再发这个post请求就可以啦

保持session的靠的就是获取并保持cookie

18508410033 发表于 2021-1-24 10:24:05

suchocolate 发表于 2020-11-28 17:09
保持session的靠的就是获取并保持cookie

现在才看懂你们说的,我这么操作会弹出图形验证码,要怎么要来手动输入图形验证码呢

suchocolate 发表于 2021-1-24 11:41:10

18508410033 发表于 2021-1-24 10:24
现在才看懂你们说的,我这么操作会弹出图形验证码,要怎么要来手动输入图形验证码呢

requests没有手工输入的机制,得用selenium模拟浏览器行为才行。
另外如果想自动识别验证码,简单的用tesserocr识别,复杂的可能得找第三方付费识别。
https://github.com/Python3WebSpider/Python3WebSpider
上面的第7章讲模拟浏览器,里面有自动输入,你可以在找到元素的时候暂停,然后手工输入,再让程序运行,就算手工输入了。
第8章有讲如何识别验证码。
页: [1]
查看完整版本: 求大佬解答学习python爬虫在浏览器审查元素怎么找到自己需要的东西