【问题标题】:Parsing <geo:lat>, <geo:long> tags value using feedparser in python!在 python 中使用 feedparser 解析 <geo:lat>, <geo:long> 标签值!
【发布时间】:2010-04-08 11:52:18
【问题描述】:

我正在使用 feedparser 解析 XML 文件。但我无法使用该文件中的 feedparser 解析 &lt;geo:lat&gt;&lt;geo:long&gt; 标记!你们知道如何在 python 中使用 feedparser 解析这些标签吗?

提前致谢!

【问题讨论】:

    标签: python feedparser


    【解决方案1】:

    Feedparser 应该毫无问题地解析带有扩展名 geoBasic Geo 命名空间。
    检查您的 XML 是否具有 http://www.w3.org/2003/01/geo/wgs84_pos# 命名空间声明,例如:

    xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
    

    这个 sn-p 应该可以工作:

     import feedparser
     d = feedparser.parse('http://yourfeed.xml')
     print d.entries[0].['geo_lat']
     print d.entries[0].['geo_long']
    

    【讨论】:

    • 是的!在我的 xml 文件中,它具有命名空间 geo:lat 和 geo:long 声明!但是如何解析呢?例如 :60.18795324.803031 ,这是我的 xml 文件中的一项!你的意思是还有其他规格吗?
    • 是的,我的 xml 文件与您所说的声明相同!但是我无法从这个文件中得到解析的纬度和经度!你能给我一些我能得到它的代码示例的提示吗?
    • 我试过了,但他们显示错误:AttributeError: object has no attribute 'geo_lat' 所以也许找不到 geo_lat 属性!那还有什么?
    • @systempuntoout:我的解析参数只是 web URL,而不仅仅是 .xml 文件!那么我能用这个做什么?你有想法吗?
    • 能否将 URL 发布到您尝试解析的提要中?
    【解决方案2】:

    &lt;rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:dc="http://purl.org/dc/elements/1.1/"&gt;

    工作示例:

    import feedparser

    for item in d['items']`  
        print item['geo_lat']
        print item['geo_long']
    

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 2012-02-24
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多