javascript - 下载验证码图像的脚本

标签 javascript html captcha

为了完全非恶意的目的 - 特别是机器学习,我想下载一个巨大的验证码图像数据集。然而,CAPTCHA 总是使用一些模糊的 javascript 来实现,这使得在没有浏览器的情况下获取实际图像成为一项艰巨的任务,至少对我这个 javascript 新手来说是这样。

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

谢谢!

编辑:提出这个问题的另一种方式非常简单。当您在具有复杂 JavaScript 的网站上单击“查看源代码”时,您会看到脚本引用,但这就是您看到的全部。但是,如果您单击“将网页另存为...”(在 Firefox 中),然后查看保存的网页的源代码,JavaScript 将被解析并生成新的 html 和图像(至少在ASIRRA 和 reCAPTCHA 的情况)在源中。如何使用脚本模仿这种“将网页另存为...”行为?一般来说,这是一个重要的网络编码问题,所以请停止质疑我的动机!从现在开始,我可以在所有涉及脚本编写的 Web 开发中使用这些知识,我相信其他堆栈溢出访问者也可以!

最佳答案

在等待答案的同时,我不断挖掘并最终找到了一种完成我想要的事情的破解方法。

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

但是,我意识到使用 Firefox 的“页面另存为...”正是我所需要的。它运行加载图像的 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次,效果很好。事实上,由于它总是保存到同一个文件夹,重复的图像被覆盖(这就是我想要的)。

关于javascript - 下载验证码图像的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1543933/

相关文章:

c# - 在 .net 中使用 System.Drawing 创建验证码

javascript - 如何在表体中使用 ng-repeat 来包含多行?

javascript - 使用 Javascript 中的选项创建动态选择

javascript - Focus() 当前模态选项卡中的第一个输入

javascript - 如何从日期格式 YYYY-MM-DD 检查两个月是否相等?

javascript - 使用javascript在Chrome中的iframe中触发文件输入

html - 中心下拉菜单本身

javascript - 左对齐文本输入 onblur (IE 8 & 9)

security - reCaptcha 是否已被破解/黑客攻击/OCR 识别/击败/损坏?

python - 导入错误 : No module named bs4 in Windows