python怎么获取图片的16进制_怎么通过python获取验证码图片?

写使用python PAMIE模块写一个自动操作IE的脚本,但是获取验证码图片时遇到困难,试过使用win32inet.GetUrlCacheEntryInfo从IE缓存读文件,但读普通图片没问题,一读验证码图片就报错:pywintypes.error: (2, 'GetUrlCacheEntryInfo', '\xcf\xb5\xcd\xb3\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xce\xc4\xbc\xfe\xa1\xa3')

求获取验证码相关解决方案:import cPAMIE

import urllib

import urllib2

def deCaptcha(function, image_source=None):

"""调用 de-captcher API 解析验证码图片

Args:

function: str

balance: 查询余额,

picture2: 解析图片

image_source: str,图片源文件

Returns:

dict,de-captcher 解析返回信息

{

'ResultCode': 0,

'MajorID': 107,

'MinorID': 44685,

'Type': 0,

'Timeout': 0,

'Text': 'n7hjks'

}

"""

data = {

'username': 'username',

'password': 'password',

'function': function,

'pict_to': '0',

'pict_type': '0',

'pict': image_source

}

keys = 'ResultCode|MajorID|MinorID|Type|Timeout|Text'.split('|')

de_captcher_server = "http://poster.de-captcher.com/"

if function is 'balance' and image_source is None:

data.pop('pict')

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())

result = opener.open(de_captcher_server, urllib.urlencode(data))

return result

elif function is 'picture2' and image_source:

try:

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())

result = opener.open(de_captcher_server, urllib.urlencode(data))

return dict(zip(keys, result.read().split('|')))

except KeyError:

return result

def getCaptchaImage(url):

"""获取验证码图片

Args:

url: 字符串,图片的网址

Returns:

字符串,图片源文件

fileObj.read()

"""

pass

# 求获取验证码图片的方法

browser = cPAMIE.PAMIE()

browser.navigate('http://example.com/')

captcha_image_src = browser.imageGet('image_element_ID').src

image_source = getCaptchaImage(captcha_image_src)

print deCaptcha(image_source)['Text']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值