如何使用 Python 从 Blob URL 下载文件?
使用 python 从 blob url 下载文件
本指南将指导您使用 python 从 blob url 中下载文件。
问题:从 blob url 下载文件的难点
从 blob url 下载文件时,您可能会遇到以下难点:
- 下载文件大小不正确:您下载的文件可能非常小,因为它实际上只是显示 blob 错误的 html 代码。
- 文件不可读:下载的文件可能无法打开或损坏。
解决方案:
为了成功下载 blob url 中的文件,需要:
1. 提供用户代理:
许多服务器在没有指定用户代理的情况下会拒绝连接。为此,我们使用 safari 的用户代理。
2. 发送请求:
使用 python 的 urllib 库发送带用户代理的 get 请求。
3. 获取响应:
打开响应并读取文件内容。
代码示例:
python 3:
import urllib.request as request url = 'http://www.xetra.com/blob/1193366/b2f210876702b8e08e40b8ecb769a02e/data/all-tradable-etfs-etcs-and-etns.xlsx' # 伪装成 safari 浏览器 fake_useragent = 'mozilla/5.0 (ipad; cpu os 6_0 like mac os x) applewebkit/536.26 (khtml, like gecko) version/6.0 mobile/10a5355d safari/8536.25' r = request.request(url, headers={'user-agent': fake_useragent}) f = request.urlopen(r) print(f.read())
python 2:
import urllib2 url = 'http://www.xetra.com/blob/1193366/b2f210876702b8e08e40b8ecb769a02e/data/All-tradable-ETFs-ETCs-and-ETNs.xlsx' # 伪装成 Safari 浏览器 fake_useragent = 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25' r = urllib2.Request(url, headers={'User-Agent': fake_useragent}) f = urllib2.urlopen(r) print(f.read())
通过使用此方法,您将能够成功下载 blob url 中的文件。
以上就是如何使用 Python 从 Blob URL 下载文件?的详细内容,更多请关注其它相关文章!