如何使用 Python 从 Blob URL 下载文件?

如何使用 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 下载文件?的详细内容,更多请关注其它相关文章!