下载CAPTCHA图像的脚本

时间:2009-10-09 13:55:00

标签: javascript html captcha

对于完全非邪恶的目的 - 特别是机器学习,我想下载一个巨大的CAPTCHA图像数据集。然而,CAPTCHA总是使用一些混淆的javascript来实现,这使得在没有浏览器的情况下获取实际图像是一项非常重要的任务,至少对我来说是一个javascript新手。

那么,任何人都可以给我一些有用的指示,指出如何使用完全在浏览器之外的脚本下载模糊单词的图像?请不要指向已收集的模糊单词的数据集 - 我需要从特定网站收集这个特定实验的图像。

谢谢!

编辑:可以提出这个问题的另一种方式非常简单。当您点击具有复杂javascript的网站上的“查看源代码”时,您会看到脚本引用,但这就是您所看到的。但是,如果您单击“将网页另存为...”(在Firefox中),然后查看已保存的网页的来源,则将解析javascript以及新的html和图像(至少在ASIRRA和reCAPTCHA的案例在源头。如何使用脚本模仿“将网页另存为......”行为?这是一个重要的网络编码问题,所以请继续质疑我的动机!这是我现在可以在涉及脚本的所有Web开发中使用的知识,我确信其他堆栈溢出访问者也可以!

3 个答案:

答案 0 :(得分:5)

在这里等待答案的时候,我一直在挖掘,最终找到了一种被黑客攻击的方式来完成我想要的工作。

首先,这是一个有点复杂问题的原因(至少对像我这样的javascript新手)是来自ASIRRA的图像通过javascript加载到网页上,这是一种客户端技术。当您使用wget或curl之类的内容下载网页时,这是一个问题,因为它实际上并不运行javascript,它只是下载源html。因此,您无法获得图像。

然而,我意识到使用firefox的“Save Page As ...”正是我所需要的。它运行了加载图像的javascript,然后将它全部保存到我硬盘上的着名目录结构中。这正是我想要自动化的。所以......我发现了一个名为“iMacros”的firefox附加组件并编写了这个宏:

VERSION BUILD=6240709 RECORDER=FX
TAB T=1
URL GOTO=http://www.asirra.com/examples/ExampleService.html
SAVEAS TYPE=CPL FOLDER=C:\Cat-Dog\Downloads  FILE=*

设置循环10,000次,效果很好。事实上,因为它总是保存到同一个文件夹,所以重复的图像被覆盖(这就是我想要的)。

答案 1 :(得分:0)

为什么不亲自获取CAPTCHA并生成图像? reCAPTCHA也是免费的。 http://www.captcha.net/

更新:我发现您希望来自特定网站,但如果您拥有自己的网站,则可以调整它以提供与您定位的网站相同的图片。

答案 2 :(得分:0)

与运行网站的人员联系并索取数据集。如果你试图以任何可疑的方式下载许多图像,你很快就会终止他们的杀戮名单,这意味着你将不再从他们那里得到任何东西。

CAPTCHAs旨在保护人们免受虐待,并且从他们的角度来看,您所做的事情看起来就像是虐待。