屏幕抓取HTTP标头问题 - 我想

时间:2012-05-05 08:59:11

标签: scraper

我一直试图将这个问题弄清楚一个星期,而且只是 无法想出一个好的解决方案。所以,我想我会看到是否有人可以帮助我。这是我试图抓住的一个链接:

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

没有显示清晰的图片网址。显然那是 因为图像隐藏在某种类型的脚本后面。通过审判和 错误我发现我可以在“CISOPTR = 491”之后加上“.jpg”,然后链接变成图像URL。问题是这不是图像的高分辨率版本。去了 高分辨率版本我必须更改URL。我发现很多文章@ Stackoverflow.com提到尝试使用curl和PHP构建脚本,我甚至尝试过其中一些没有运气。 “491”是图像编号,我可以更改该编号以在同一目录中查找其他图像。因此,抓取一系列数字应该非常简单。但是我仍然是一个刮胡子的人,这个人正在踢我的屁股。这是我尝试过的。

Get remote image using cURL then resample

也试过这个。

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

我也有Outwit Hub和Site Sucker,但是他们不会将URL识别为图像文件而且他们只是通过了它。我一夜之间使用了SiteSucker,它下载了40,000个文件,只有60个是jpeg,其中没有一个是我想要的。

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

如何到达原始的高分辨率图像文件,并自动执行下载过程,以便我可以抓取几百张这些图像?

1 个答案:

答案 0 :(得分:0)

  

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

你注意到标题中有“.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解析器自己抓地址。