带有HTTP标头的屏幕抓取问题-我认为



我已经试图弄清楚这个问题大约一个星期了,只是想不出一个好的解决方案。所以,我想看看是否有人可以帮助我。这是我试图抓取的链接之一:

http://content.lib.washington.edu/cdm4/item_viewer.php?CISOROOT=/alaskawcanada&CISOPTR=491&CISOBOX=1&REC=4

我右键单击以复制图像位置。这是复制的链接:

(无法将其粘贴为链接,因为我是新手(http://content (dot( lib (dot( washington (dot( edu/cgi-bin/getimage.exe?CISOROOT=/alaskawcanada&CISOPTR=491&DMSCALE=100.00000&DMWIDTH=802&DMHEIGHT=657.890625&DMX=0&DMY=0&DMTEXT=%20NA3050%20%09AWC0644%20AWC0388%20AWC0074%20AWC0575&REC=4&DMTHUMB=0&DMROTATE=0

没有显示清晰的图像 URL。显然是这样因为图像隐藏在某种类型的脚本后面。通过试验和错误我发现我可以在"CISOPTR=491"之后加上".jpg",然后链接成为图像 URL。问题是这不是图像的高分辨率版本。要到达高分辨率版本 我必须进一步更改URL。我找到了很多文章@Stackoverflow.com 提到尝试使用 curl 和 PHP 构建脚本,我什至尝试了其中的一些但没有运气。"491"是图像编号,我可以更改该数字以在同一目录中查找其他图像。因此,抓取一系列数字应该很容易。但我仍然是一个抓挠的菜鸟,这个正在踢我的屁股。这是我尝试过的。

使用 cURL 获取远程图像,然后重新采样

也试过这个。

http://psung.blogspot.com/2008/06/using-wget-or-curl-to-download-web.html

我也有智取中心和网站吸盘,但他们无法将 URL 识别为图像文件,他们只是直接传递它。我用了一夜之间 SiteSucker,它下载了 40,000 个文件,只有 60 个是 jpeg,没有一个是我想要的。

我不断遇到的另一件事是我已经能够手动下载的文件,文件名始终是getfile.exe或showfile.exe然后如果我手动添加".jpg"作为扩展名,我可以在本地查看图像。

如何访问原始高分辨率图像文件,并自动执行下载过程,以便可以抓取几百个这样的图像?

我右键单击以复制图像位置。这是链接 复制:

您注意到标题中有".exe"。 查看查询字符串中的内容:

DMSCALE=100.00000
DMWIDTH=802
DMHEIGHT=657.890625
DMX=0
DMY=0
DMTEXT=%20NA3050%20%09AWC0644%20AWC0388%20AWC0074%20AWC0575
REC=4
DMTHUMB=0
DMROTATE=0

强烈暗示此图像的原始来源在数据库中或其他东西中,并且它正在通过服务器端过滤器传递(不确定这是否是"某种脚本"的意思(。 也就是说,这是动态生成的内容,而不是静态的,并且与动态文本内容相同的警告适用:您必须弄清楚向服务器提供哪些指令才能让它咳出您想要的内容。 你面前几乎有...如果 SiteSucker 或其他任何东西无法正确处理它,请使用 HTML 解析器自己抓取地址。

最新更新