在 python 中,我如何检查以 .jpg 结尾的 url 是否存在?
例如:http: //www.fakedomain.com/fakeImage.jpg
谢谢
原文由 user257543 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 python 中,我如何检查以 .jpg 结尾的 url 是否存在?
例如:http: //www.fakedomain.com/fakeImage.jpg
谢谢
原文由 user257543 发布,翻译遵循 CC BY-SA 4.0 许可协议
下面的代码等同于 tikiboy 的答案,但是使用了一个高级且易于使用的 请求 库。
import requests
def exists(path):
r = requests.head(path)
return r.status_code == requests.codes.ok
print exists('http://www.fakedomain.com/fakeImage.jpg')
requests.codes.ok
等于 200
,因此您可以根据需要替换确切的状态代码。
requests.head
如果服务器没有响应,可能会抛出 异常,因此您可能需要添加一个 try-except 结构。
此外,如果您还想包含代码 301
和 302
,请考虑代码 303
,特别是如果您 取消引用 URI 中的 数据 引用资源。一个 URI 可能代表一个人,但你不能下载一个人,所以服务器会使用 303 重定向 将你重定向到一个描述这个人的页面。
原文由 Mirzhan Irkegulov 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答868 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
如果状态不是 200,则资源不存在于 URL 中。这并不意味着它完全消失了。如果服务器返回 301 或 302,这意味着该资源仍然存在,但位于不同的 URL。要更改处理这种情况的功能,只需将状态检查行更改为
return response.status in (200, 301, 302)
。