python 模拟登录带有验证码的网站。如何保证验证码和当前爬取的登录页面同步?因为每打开一次页面 验证码就不同。还是上代码吧。大家帮忙看看。

2014-09-22 10:58:39 +08:00
 no13bus
登录页面是: http://110.249.223.91/hbhb/Default.aspx
自己代码执行的时候 最后的结果result.content不是登录之后的界面 而是还是登录之前的页面。result.history返回是空 而不是返回登录跳转成功的状态码302.

https://gist.github.com/no13bus/ce19d3a08aeae2096d32
13480 次点击
所在节点    Python
27 条回复
no13bus
2014-09-22 15:10:21 +08:00
@imn1 嗯。多谢。mysession = requests.Session()
url = 'http://110.249.223.91/hbhb/Default.aspx'
r = mysession.get(url,timeout=60*4) 这个就是了。requests的session方法就可以保持session的状态。很好用。
no13bus
2014-09-22 15:11:23 +08:00
@pc10201 你说的是什么工具?我用的postman这个东西模拟请求的。就是上面一个截图里面提到的postman
ld0891
2014-09-22 15:48:36 +08:00
调HTTP最好用Firefox,因为Chrome一些字段有限制没法自定义。
记得Postman要用个代理才能修改限制字段。
no13bus
2014-09-22 18:33:58 +08:00
@ld0891 字段限制是什么意思?
ld0891
2014-09-22 20:08:18 +08:00
@no13bus 就是HTTP报文头有些字段没法修改,比如Host,Referer啥的。
具体参见http://www.getpostman.com/docs/requests,里面Headers有详解。
no13bus
2014-09-22 20:23:37 +08:00
@ld0891 哦。我这里能改。你说的那个我之前就下载过。http://blog.getpostman.com/wp-content/uploads/2014/02/Postman_-_v0_9_5_and_Airmail.png
这个东西我有的。多谢了。下载了之后 就能修改了
kanchi240
2016-07-05 12:49:59 +08:00
@no13bus 我按你的方法试了我的项目,提示验证码失败, cookie 是用的 request 库的 session 来管理的,而且我打印 cookie 里面信息,从获取验证码请求到登陆 post , cookie 值都是一样的,不知道为什么?
@imn1 @ld0891

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/134917

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX