0

我正在尝试从旧数据库中捕获一些图像。

在编写爬虫时,我使用 ruby​​(但对 php 也很熟悉)直接 open() 一个网站并读取其内容。我有时也使用脚本来调用相应的curl ...命令。

但是,我正在从中刮取一些片段的数据库返回一个页面,然后使用服务器端脚本假设的一系列随机数嵌入带有图像名称的目标图像。例如:

<img ... show_image.jsp?343523.jpg

但是,我不能直接调用这个 show_image 脚本(被拒绝),它只在嵌入整个网站时才有效。

我可以使用 curl,或者在 ruby​​ 或 php 中下载整个页面,例如,1929.2.14.aspx它包含由生成的嵌入图像show_image.jsp?343523.jpg吗?

如果我只是直接卷曲 aspx 文件,我自然会得到 html - 如何以基于浏览器的“Web 存档”功能手动工作的方式通过脚本保存 html 和嵌入的图像?

任何提示,教程链接等都表示赞赏......

4

2 回答 2

0

如果脚本(例如 show_image.jsp)正在做一个简单的引荐来源检查,您可以通过编写您的 PHP(或 Ruby)刮板来解决它,以便在进行 GET 之前设置引荐来源:

curl --referer http://www.example.com http://www.example.com/show_image.jsp?bar.jpg
于 2012-04-23T22:04:18.600 回答
0

您可能应该使用 mechanize 在 ruby​​ 中抓取网站。当您这样做时,它会为您设置 cookie 和引用,因此获取图像将非常简单:

agent.get(image_url).save_as 'local_filename.jpg'
于 2012-04-24T00:50:21.697 回答