自动刷新并下载Asirra图像

时间:2009-10-08 20:09:24

标签: javascript html

如果你不熟悉Asirra,它是由微软开发的CAPTCHA技术,它使用猫和狗的识别而不是一串文字进行人工验证。

我想用他们的数百万猫狗图片数据库进行一些机器学习实验,所以我正在尝试编写一个脚本,它会自动刷新他们的网站并定期下载12张图像。不幸的是,对于JavaScript来说,我是一个新手。

问题是,出于非常明显的安全原因,很难找到图像的实际网址,因为它全都是混淆了javascript的背后。我尝试使用Curl查看使用终端应用程序返回的html,这是同样的交易 - 只是javascript。那么,使用脚本,我如何访问实际图像?显然,图像正在传输到我的电脑,因为它们出现在我的屏幕上,但我不知道如何使用脚本捕获这些图像。

另外一个问题是我不想要首先加载的较小图像,我需要只有当你将鼠标悬停在它们上时才出现的较大图像,所以我想我需要覆盖那个javascript函数来给出更大的图像图片也是通过脚本给我的。

我更喜欢Python或C#中的东西,但我会接受任何东西 - 谢谢!

编辑:他们的公共语料库没有足够的图像供我使用,所以这不起作用。另外,我并不是要求你写我的脚本,只是一些关于如何使用脚本访问全尺寸图像的指导。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

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

首先,这是一个有点复杂问题的原因(至少对像我这样的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次,效果很好。事实上,因为它总是保存到同一个文件夹,所以重复的图像被覆盖(这就是我想要的)。