如何解析二进制编码的rss提要

2024-06-06 14:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我在从一个特定的站点下载和阅读rss提要时遇到了一个问题,问题似乎是最终下载的rss提要看起来是二进制格式的,有人能告诉我如何将其恢复为可读的格式,然后发送到beautiful soup进行解析吗?。在

这是我的密码所以远:在

import urllib2
from BeautifulSoup import BeautifulSoup

rss_feed = urllib2.urlopen("http://kat.ph/usearch/ubuntu/?rss=1", timeout=5.0).read()
print rss_feed #will display binary not expected xml
rss_feed_soup = BeautifulSoup(rss_feed)

因此,为了澄清一下,当我试图使用urllib2进行阅读时,我似乎无法获得结果xml,如果我在任何现代web浏览器中查看rss提要,rss显示正确,那么我在这里遗漏了什么?,rss提要是二进制编码的吗?如果是,如何正确解码?。在

谢谢你的回复。在


Tags: fromimporthttp密码站点feed格式二进制
1条回答
网友
1楼 · 发布于 2024-06-06 14:29:11

服务器对提要进行gzip压缩以实现高效下载;它有一个Content-Encoding: gzip头集。在

使用^{}下载并解析它,而不是使用urllib2和beautifulGroup。在

如果必须使用urllib2,也可以先使用gzip模块解压缩内容:

import gzip
from cStringIO import StringIO

rss_feed = gzip.GzipFile(fileobj=StringIO(rss_feed)).read()

相关问题 更多 >