Python下载法兰克福证券交易所Blob URL数据时,如何解决文件大小异常和内容不可读的问题?

python下载法兰克福证券交易所blob url数据时,如何解决文件大小异常和内容不可读的问题?

从法兰克福证券交易所下载数据:解决Blob URL下载问题

许多开发者在使用Python下载网络文件时,常常会遇到Blob URL导致文件大小异常或内容无法读取的问题。本文将以法兰克福证券交易所的Excel文件下载为例,演示如何使用Python解决此类问题。

问题:直接使用urllibwget访问法兰克福证券交易所提供的Blob URL下载Excel文件时,下载文件可能只有几百字节,且内容无法读取。这是因为服务器会识别未设置用户代理的请求,并返回错误信息而非实际文件内容。

解决方案:关键在于模拟浏览器行为,向服务器发送包含用户代理信息的请求。以下代码分别提供Python 2和Python 3的解决方案:

立即学习“Python免费学习笔记(深入)”;

Python 3:

import urllib.requesturl = 'http://www.xetra.com/blob/1193366/b2f210876702b8e08e40b8ecb769a02e/data/all-tradable-etfs-etcs-and-etns.xlsx'user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'  # 使用更通用的用户代理req = urllib.request.Request(url, headers={'User-Agent': user_agent})with urllib.request.urlopen(req) as response, open('etf_data.xlsx', 'wb') as outfile:    outfile.write(response.read())print("文件已成功下载到 etf_data.xlsx")

Python 2:

import urllib2url = 'http://www.xetra.com/blob/1193366/b2f210876702b8e08e40b8ecb769a02e/data/All-tradable-ETFs-ETCs-and-ETNs.xlsx'user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36' # 使用更通用的用户代理req = urllib2.Request(url, headers={'User-Agent': user_agent})with urllib2.urlopen(req) as response, open('etf_data.xlsx', 'wb') as outfile:    outfile.write(response.read())print("文件已成功下载到 etf_data.xlsx")

代码说明:

关键在于设置User-Agent头部信息,模拟真实浏览器请求,避免服务器返回错误信息。使用了更通用的Chrome用户代理字符串,以提高兼容性。代码将下载的文件保存为etf_data.xlsx。 请确保程序拥有写入权限。使用了with语句,确保文件正确关闭。url为示例,实际使用时请替换为目标URL。

通过模拟浏览器行为,成功下载文件,解决文件大小异常和内容不可读的问题。 请注意,频繁访问网站可能会违反网站的使用条款,请谨慎使用。

以上就是Python下载法兰克福证券交易所Blob URL数据时,如何解决文件大小异常和内容不可读的问题?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1358377.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 21:48:07
下一篇 2025年12月13日 21:48:12

相关推荐

发表回复

登录后才能评论
关注微信