python下载验证码以及post登录遇到的问题--模拟登陆实战
怪我咯
怪我咯 2017-04-17 17:44:20
0
6
464
import requests
import datetime

#url = 'https://www.baidu.com'
url = 'http://httpbin.org/post'

base_date = datetime.datetime(2016, 4, 1)
base_payload = {'headers': ''}

for i in range(1, 10):
    payload = base_payload.copy()
    payload.update({
        'index': i,
        'data': (base_date + datetime.timedelta(days=i)).strftime('%Y-%m-%d')
    })
    response = requests.post(url, data=payload)
    with open ('{}.text'.format(i), 'w') as fp:
        fp.write(response.text)
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(6)
阿神

session = requests.Session()
r = session.post(url, data, headers)

网站所有的请求都通过这个session去请求

洪涛

先问个问题,为什么要同时使用urllib库和requests库,requests完全可以替代urllib和urllib2。
然后就是,由于你同时使用这两个库,导致cookie无法共享,一般来说验证码都是通过cookie来实现的,cookie无法共享就导致你在urllib请求的图片不能拿来做requests的验证码。

PHPzhong

这个只能抓包看啊:
刷新验证码的url

http://wutong.xiaojukeji.com/crm/index.php?r=site/captcha&refresh=1&_=1463198682443

返回数据:

{
hash1: 660,
hash2: 660,
url: "/crm/index.php?r=site/captcha&v=5736a5d156db8"
}

验证码的url,利用上面的结果

http://wutong.xiaojukeji.com/crm/index.php?r=site/captcha&v=5736a51561d5a

在下载这个验证码即可- 在去登录吧

黄舟

正常情况下服务端给你下发验证码的时候也会给你cookie或者记录session标记给你下发的验证码到底是哪一张,不然服务端不可能知道你提交的文字匹配哪个验证码

阿神

验证码的问题,你那样做是一个思路,你也可以用云端打码直接搞定它。我平时工作就是爬虫,一直在用。

巴扎黑

滴滴打车的项目啊,厉害!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板