如何使用javascript和servlet从网站上抓取图像

时间:2010-01-26 21:08:08

标签: java javascript servlets screen-scraping

我有一个包含以下内容的网页(为了隐私目的,我更改了src标记中的网址,否则查看网页来源是相同的):

<HTML>
<BODY>

<script type="text/javascript" src="http://localhost/servlet?publicKey=abcdefg12345678&amp"></script>

</BODY>
</HTML>

在浏览器中查看时,生成的页面会显示图像,而我正在尝试抓取该图像。在我刮擦图像后,我尝试索引图像(请参阅www.tineye.com了解图像搜索引擎的概念)并存储它们。如果有人知道如何从这些网站上刮取图像,请告诉我。

注意:src不包含有关图像的任何信息......它只使用公钥作为参数调用给定的servlet。我在上面发布的内容完全是我在浏览器(Firefox)中单击View-&gt; Page Source时看到的内容。当然,我已经更改了隐私问题的实际URL和公钥,否则一切都是相同的。

我看似用于某些横幅的类似技巧:http://coldjava.hypermart.net/servlets/banner.htm

2 个答案:

答案 0 :(得分:1)

JavaScript可能正在操纵DOM并添加图像。因此,图像(.jpg,.png或.gif)应该位于JavaScript文件中的某个位置,应该如下所示:

var image = new Image("/path/to/image.jpg");

您可以使用正则表达式来过滤javascript代码中的路径和文件名。

答案 1 :(得分:1)

您应该保存JavaScript文件的本地副本,而不是保存HTML文件的本地副本,以查看它是如何将图像添加到HTML文件的DOM中的。这应该让你弄清楚如何构建请求来获取你需要的图像。