我一直试图将这个问题弄清楚一个星期,而且只是 无法想出一个好的解决方案。所以,我想我会看到是否有人可以帮助我。这是我试图抓住的一个链接:
我右键单击以复制图像位置。 这是复制的链接:
(不能将其粘贴为链接,因为我是新手) 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”作为扩展我可以查看图像在本地。
如何到达原始的高分辨率图像文件,并自动执行下载过程,以便我可以抓取几百张这些图像?
答案 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解析器自己抓地址。