我正在尝试从googlebooksapi下载图书封面图片。它最终给了我这样一个链接:
http://books.google.com/books/content?id=Tum3dwFzSngC&printsec=frontcover&img=1
如果你点击它,你可以看到它加载和存在。那么,我就用这个代码来下载图片:
import requests
r = requests.get('http://books.google.com/books/content?id=Tum3dwFzSngC&printsec=frontcover&img=1')
with open('test.jpeg', "wb") as f:
f.write(r.content)
f.close()
但是,我从中得到的图像总是一个9kb的文件,上面写着“image Not Available”(图像不可用),我假设当请求的图像不存在时,它只是来自API。我做错什么了吗?它看起来相当标准和简单,所以我不确定是什么错。你知道吗
服务器不想回答您,因为它看到请求不是来自浏览器—这是一种常见的做法。例如,我在Chrome中打开图像并复制Chrome作为CURL请求发送的请求,结果成功了。简单发送:
没有。你知道吗
服务器正在检查用户代理。如果找不到有效的,则不会发送图像。您可以easily fake a user agent,或者使用Mechanize之类的工具来模拟浏览器。保存对
img.jpg
的响应的CURL请求的一个简单示例是:相关问题 更多 >
编程相关推荐