使用 feedparser 获取流式数据
Using feedparser to get streaming data
我正在尝试像下面这样解析提要:
feed1 = 'http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson'
feed2 = 'http://developer.usa.gov/1usagov'
我可以使用 feedparser 模块来解析第一个提要,但不能解析第二个。
import feedparser
feed1_read = feedparser.parse(feed1) # doesn't hang
feed2_read = feedparser.parse(feed2) # hangs
对于这些 Feed 的工作原理,我有什么不明白的地方吗?为什么 feedparser 在第二个提要上挂起,而不是在第一个提要上挂起?
feedparser
实际上无法解析这些供稿中的 或 。 feedparser 模块用于解析 Atom 和 RSS 提要,它们是 XML 文档格式,而这两种提要都是 return JSON 文档。
你打电话后:
feed1_read = feedparser.parse(feed1) # doesn't hang
你会发现feed1_read['feed']
是空的:
>>> feed1_read['feed']
{}
还有:
>>> feed1_read['bozo_exception']
SAXParseException('Document is empty\n',)
可能 requests 模块会更有用。
我正在尝试像下面这样解析提要:
feed1 = 'http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson'
feed2 = 'http://developer.usa.gov/1usagov'
我可以使用 feedparser 模块来解析第一个提要,但不能解析第二个。
import feedparser
feed1_read = feedparser.parse(feed1) # doesn't hang
feed2_read = feedparser.parse(feed2) # hangs
对于这些 Feed 的工作原理,我有什么不明白的地方吗?为什么 feedparser 在第二个提要上挂起,而不是在第一个提要上挂起?
feedparser
实际上无法解析这些供稿中的 或 。 feedparser 模块用于解析 Atom 和 RSS 提要,它们是 XML 文档格式,而这两种提要都是 return JSON 文档。
你打电话后:
feed1_read = feedparser.parse(feed1) # doesn't hang
你会发现feed1_read['feed']
是空的:
>>> feed1_read['feed']
{}
还有:
>>> feed1_read['bozo_exception']
SAXParseException('Document is empty\n',)
可能 requests 模块会更有用。