若快打码
# encoding=utf8
import requests
import time
def get_verify_code(im, typeid):
verify_code = '****'
url = 'http://api.ruokuai.com/create.json'
params = {
'typeid': typeid,
'timeout': 60,
'username': '', # 用户名
'password': '', # 密码
'softid': '', # 软件Id
'softkey': '' # 软件Key
}
files = {
'image': ('a.jpg', im)
}
headers = {
'Connection': 'Keep-Alive',
'Expect': '100-continue',
'User-Agent': 'ben'
}
try:
resp = requests.post(url, data=params, files=files, headers=headers)
except Exception as e:
print 'get_verify_code ERROR: ', e
return verify_code
try:
verify_code = resp.json().get('Result', '')
except Exception as e:
print 'get_verify_code failed: ', e
return verify_code
if not verify_code:
try:
print resp.text
except:
print 'verify code resp is None'
return verify_code
def main():
path = '' # 图片路径
with open(path, 'rb') as f:
content = f.read()
vcode = get_verify_code(content, 3040)
print '--- vcode: ', vcode
if __name__ == '__main__':
main()
说明:
软件Id和软件Key两个参数需要用户通过“开发者登录”后,在“软件管理”中添加一个软件,之后就可以得到一组softid和softkey,不过官方会有审核时间:
另外,上面代码中get_verify_code的第一个参数im既可以是以二进制保存的图片,也可以是通过http请求得到的图片的二进制源码,像这样:
def main():
url = '' # 请求图片的链接
resp = requests.get(url)
content = resp.content
vcode = get_verify_code(content, 3040)
print '--- vcode: ', vcode
if __name__ == '__main__':
main()
最后,代码中的3040是官方“编码Typeid”中的一种,具体可以参考这里:价格类型
转载链接 :
https://blog.csdn.net/u012067766/article/details/80081125
文章最后发布于: 2019-06-10 16:06:06
相关阅读
scikit-learn机器学习(五)--条件概率,全概率和贝叶斯定理
在理解贝叶斯之前需要先了解一下条件概率和全概率,这样才能更好地理解贝叶斯定理 一丶条件概率 条件概率定义:已知事件A发生的条
java.sql.ResultSetMetaData 接口的使用(结果集元数据
intro 有时需要了解结果集的元数据信息(之后与反射,泛型结合,编写通用方法,减少代码重复):columnCount 结果集的列数columnName 列
目录 用pandas计算相关系数 用numpy计算相关系数 自己编写函数计算相关系数 用pandas计算相关系数 计算相关系数用pandas,比如我
(一)python爬虫验证码识别(去除干扰线) 1.开发环境与工具 python27:sklearn、pytesser、opencv等 pycharm windows7 2. 数据集 用re
Python 爬取 Yahoo! Finance 数据问题总结
在《Python for Data Analysis》的第五章 Pandas 入门中,有一段分析 Yahoo! Fiannce 的股票价格和成交量的代码,此代码年代已久,如果