用于获取验证码的python脚本

时间:2015-01-12 09:03:37

标签: python python-2.7 web captcha

所以我正在为我的应用程序抓取这个网站。我需要下载验证码图像以便将其显示给用户。但每次我访问验证码网址时,它都会生成一个新的验证码。如何下载动态生成的验证码以进行自动登录

例如:https://academics.vit.ac.in/student/stud_login.asp

在这里,我使用以下脚本>>>

下载验证码
from bs4 import BeautifulSoup
import urllib2
import urllib

url = "https://academics.vit.ac.in/student/stud_login.asp"
content = urllib2.urlopen(url)
soup = BeautifulSoup(content)
img = soup.find('img',id ='imgCaptcha')
print img
urllib.urlretrieve(img['src'],'captcha.bmp')

但是这个脚本似乎不起作用。

1)一种解决方案是截取屏幕截图并裁剪出验证码。 但是我需要一个不同的解决方案,因为我要在各种屏幕尺寸的设备上工作,所以拍摄屏幕不能解决问题。

1 个答案:

答案 0 :(得分:1)

img['src']会返回亲戚网址 - captcha.asp。你必须先将它变成一个绝对的网址才能使用它(https://academics.vit.ac.in/student/captcha.asp)。

import urlparse
urllib.urlretrieve(urlparse.urljoin(url, img['src']), 'captcha.bmp')