我正在尝试抓取此网站的图片: http://mis.historiska.se/mis/sok/bild.asp?uid=336358&g=1
该网站还可以选择下载不同尺寸,例如大图: http://catview.historiska.se/catview/media/highres/336358
下载手册,抓图像,甚至抓取网址都没有问题,但图片和网址缺少图片扩展名。
我需要使用文件名和扩展程序来抓取完整的网址。,而不是实际的图片。
答案 0 :(得分:1)
正确的方法是在向给定的URL请求文件名和扩展名后检查标题。对给定URL的简单curl请求给出了以下响应:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: image/jpeg
Content-Length: 569050
Date: Wed, 20 Jan 2016 15:33:49 GMT
猜测文件扩展名的最佳方法是只检查“Content-Type”标题。同样,为了获取文件名,我们将在标题中使用无需提供的“Content-Disposition”标题,在这种情况下,我们需要猜测文件名。 URL。 用于猜测扩展的简单python片段如下:
import requests
import mimetypes
resp = requests.get(url)
content_type = resp.headers['content-type']
ext = mimetypes.guess_extension(content_type)