【问题标题】:Automatically refresh and download Asirra images自动刷新和下载 Asirra 图像
【发布时间】:2009-10-08 20:09:24
【问题描述】:

如果你不熟悉Asirra,这是微软开发的一种验证码技术,它使用猫狗的身份来进行人工验证,而不是一串文本。

我想使用他们包含数百万张猫狗图片的数据库进行一些机器学习实验,因此我正在尝试编写一个脚本,该脚本将自动刷新他们的网站并定期下载 12 张图片。不幸的是,我是 JavaScript 新手。

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

还有一个问题是我不希望首先加载较小的图像,我需要仅在鼠标悬停时才显示的较大图像,所以我想我需要覆盖该 javascript 函数以提供较大的图像也可以通过脚本向我发送图像。

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

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

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-19
        • 2012-01-01
        • 1970-01-01
        • 2011-09-24
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多