为什么Python中的“请求”无法下载此网址图片,但浏览器可以?

时间:2018-01-26 14:50:38

标签: python http browser python-requests

我有以下网址,实际上是一张图片。

https://cache.mrporter.com/images/products/908290/908290_mrp_in_l.jpg

我使用下面的Python代码下载

import numpy as np
from PIL import Image
import requests
response = requests.get("https://cache.mrporter.com/images/products/908290/908290_mrp_in_l.jpg")

我看到requests.get只是挂起,如果我使用偶数5秒的超时,我会得到TimeOut异常。

但是,当我在浏览器中粘贴网址时,我立即看到它已打开。

我真的被困在这里并试图了解问题所在。

1 个答案:

答案 0 :(得分:3)

网站看起来需要User-Agent。您可以尝试使用以下

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
response = requests.get("https://cache.mrporter.com/images/products/908290/908290_mrp_in_l.jpg", headers=headers)

这会返回<Response [200]>