从gzip文件夹中提取文件

时间:2017-12-20 21:29:49

标签: python python-3.x gzip

我正在尝试从gzip中提取XML文件,该文件来自点击网站here上的“SEC投资顾问报告”按钮(仅供参考,此链接指向美国证券交易委员会网站)。下面是我的(最小)代码。我继续获得“嵌入空字符”或“嵌入空字节”,具体取决于我是否从我的请求中提供gzip.open() .text.content。任何人都可以帮我加载这个文件,以便我可以访问XML吗?

import requests
import gzip

file = gzip.open(requests.get(r'https://www.adviserinfo.sec.gov/IAPD/Content/BulkFeed/CompilationDownload.aspx?FeedPK=39545&FeedType=IA_FIRM_SEC').text,'rt')

1 个答案:

答案 0 :(得分:3)

gzip.open采用文件名,而非压缩数据。您可以使用gzip.decompress

您问题中的档案看起来格格不入。具体来说,由于某种原因,它附加了HTML。

以下工作仅使用HTML开头之前的内容:

import requests
import gzip

request = requests.get(r'https://www.adviserinfo.sec.gov/IAPD/Content/BulkFeed/CompilationDownload.aspx?FeedPK=39545&FeedType=IA_FIRM_SEC')

xml = gzip.decompress(request.content[:request.content.find(b"\r\n\r\n<!DOCTYPE html>") - 1])