我正在尝试从一个旧的数据库中捕获一些图像。
在编写抓取器时,我使用ruby (但使用php也很方便)来直接打开()一个网站并阅读它的内容。有时,我还会使用该脚本调用适当的curl ...命令。
但是,我从数据库中提取的一些内容将返回一个页面,然后使用服务器端脚本假定的一系列随机数将目标图像与图像名称一起嵌入。例如:
<img ... show_image.jsp?343523.jpg
但是,我不能直接调用这个show_image脚本(被拒绝),它只在嵌入到整个网站中时才起作用。
我可以使用curl,或者在ruby或php中下载整个页面吗?例如,以包含show_image.jsp?343523.jpg生成的嵌入图像的方式下载1929.2.14.aspx。
如果我直接卷曲aspx文件,我自然就会得到html -如何通过脚本来保存html和嵌入的图像,就像基于浏览器的"web archive“功能手动工作的方式一样?
任何提示,链接到教程等感谢...
发布于 2012-04-24 08:50:22
你可能应该使用机械化来抓取ruby中的网站。当你这样做的时候,它会为你设置cookie和referer,所以获取图像将很容易,如下所示:
agent.get(image_url).save_as 'local_filename.jpg'发布于 2012-04-24 06:04:19
如果脚本(例如show_image.jsp)正在做一个简单的引用检查,你可以通过这样的方式编写你的PHP (或Ruby)抓取器来解决这个问题,以便在进行GET之前设置引用:
curl --referer http://www.example.com http://www.example.com/show_image.jsp?bar.jpghttps://stackoverflow.com/questions/10288860
复制相似问题