【问题标题】:Using feedparser to get streaming data使用 feedparser 获取流数据
【发布时间】:2015-08-29 17:38:32
【问题描述】:

我正在尝试解析如下提要:

feed1 = 'http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_hour.geojson'
feed2 = 'http://developer.usa.gov/1usagov'

我可以使用 feedparser 模块来解析第一个 feed,但不能解析第二个。

import feedparser
feed1_read = feedparser.parse(feed1) # doesn't hang
feed2_read = feedparser.parse(feed2) # hangs

我对这些提要的工作方式有什么不明白的地方吗?为什么 feedparser 挂在第二个 feed 而不是第一个?

【问题讨论】:

    标签: python python-requests feedparser


    【解决方案1】:

    feedparser 实际上无法解析任何一个这些提要。 feedparser 模块用于解析 Atom 和 RSS 提要,它们是 XML 文档格式,而这两种提要都返回 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 模块可能会更有用。

    【讨论】:

    • 完美!我只是做r = requests.get(link1,stream = True)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多