如何用Python检查给定的url是否可以下载?
它应该返回 True
如果可以下载,否则 False
一个不可下载的网址的例子。www.google.com
注意: 我说的不是URL的内容,而是将其保存为网页。
什么是可下载的URL?
如果你重定向到一个URL,如果一个文件开始下载,那么它就是一个可下载的URL。
例子。 https:/drive.google.comuc?id=1QOmVDpd8hcVYqqUXDXf68UMDWQZP0wQV&export=download。
注。 它下载的是stackoverflow 2019年度调查数据集。
这可以通过使用流行的请求库来完成。
import requests
url = 'https://www.google.com'
headers=requests.head(url).headers
downloadable = 'attachment' in headers.get('Content-Disposition', '')
在HTTP协议层面本身,没有可下载和不可下载的URL之分。有一个HTTP请求,就有一个后续的响应。响应体可以是二进制文件、HTML、图片等。
你只需要请求HTTP响应头,然后寻找到 Content-Type:
并决定您是否要将该内容类型视为可下载或不可下载。