python rss解析與產生

來源:互聯網
上載者:User

 PyRSS2Gen :rss產生 
:http://www.dalkescientific.com/Python/PyRSS2Gen-1.0.0.tar.gz 

例子:

Java代碼 
  1. import datetime  
  2. import PyRSS2Gen  
  3.   
  4. rss = PyRSS2Gen.RSS2(  
  5.    title = "Andrew's PyRSS2Gen feed",  
  6.    link = "http://www.dalkescientific.com/Python/PyRSS2Gen.html",  
  7.    description = "The latest news about PyRSS2Gen, a "  
  8.                  "Python library for generating RSS2 feeds",  
  9.   
  10.    lastBuildDate = datetime.datetime.now(),  
  11.   
  12.    items = [  
  13.       PyRSS2Gen.RSSItem(  
  14.         title = "PyRSS2Gen-0.0 released",  
  15.         link = "http://www.dalkescientific.com/news/030906-PyRSS2Gen.html",  
  16.         description = "Dalke Scientific today announced PyRSS2Gen-0.0, "  
  17.                       "a library for generating RSS feeds for Python.  ",  
  18.         guid = PyRSS2Gen.Guid("http://www.dalkescientific.com/news/"  
  19.                          "030906-PyRSS2Gen.html"),  
  20.         pubDate = datetime.datetime(2003, 9, 6, 21, 31)),  
  21.       PyRSS2Gen.RSSItem(  
  22.         title = "Thoughts on RSS feeds for bioinformatics",  
  23.         link = "http://www.dalkescientific.com/writings/diary/"  
  24.                "archive/2003/09/06/RSS.html",  
  25.         description = "One of the reasons I wrote PyRSS2Gen was to "  
  26.                       "experiment with RSS for data collection in "  
  27.                       "bioinformatics.  Last year I came across...",  
  28.         guid = PyRSS2Gen.Guid("http://www.dalkescientific.com/writings/"  
  29.                               "diary/archive/2003/09/06/RSS.html"),  
  30.         pubDate = datetime.datetime(2003, 9, 6, 21, 49)),  
  31.    ])  
  32.   
  33. rss.write_xml(open("pyrss2gen.xml", "w"))  

Universal Feed Parser rss解析 

:http://feedparser.googlecode.com/files/feedparser-4.1.zip

Java代碼 
  1. >>> import feedparser  
  2. >>> d = feedparser.parse("http://feedparser.org/docs/examples/atom10.xml")  
  3. >>> d['feed']['title']             # feed data is a dictionary  
  4. u'Sample Feed'  
  5. >>> d.feed.title                   # get values attr-style or dict-style  
  6. u'Sample Feed'  
  7. >>> d.channel.title                # use RSS or Atom terminology anywhere  
  8. u'Sample Feed'  
  9. >>> d.feed.link                    # resolves relative links  
  10. u'http://example.org/'  
  11. >>> d.feed.subtitle                 # parses escaped HTML  
  12. u'For documentation only'  
  13. >>> d.channel.description          # RSS terminology works here too  
  14. u'For documentation only'  
  15. >>> len(d['entries'])              # entries are a list  
  16. 1  
  17. >>> d['entries'][0]['title']       # each entry is a dictionary  
  18. u'First entry title'  
  19. >>> d.entries[0].title             # attr-style works here too  
  20. u'First entry title'  
  21. >>> d['items'][0].title            # RSS terminology works here too  
  22. u'First entry title'  
  23. >>> e = d.entries[0]  
  24. >>> e.link                         # easy access to alternate link  
  25. u'http://example.org/entry/3'  
  26. >>> e.links[1].rel                 # full access to all Atom links  
  27. u'related'  
  28. >>> e.links[0].href                # resolves relative links here too  
  29. u'http://example.org/entry/3'  
  30. >>> e.author_detail.name           # author data is a dictionary  
  31. u'Mark Pilgrim'  
  32. >>> e.updated_parsed              # parses all date formats  
  33. (2005, 11, 9, 11, 56, 34, 2, 313, 0)  
  34. >>> e.content[0].value             # sanitizes dangerous HTML  
  35. u'  
  36. Watch out for nasty tricks  
  37. '  
  38. >>> d.version                      # reports feed type and version  
  39. u'atom10'  
  40. >>> d.encoding                     # auto-detects character encoding  
  41. u'utf-8'  
  42. >>> d.headers.get('Content-type')  # full access to all HTTP headers  
  43. u'application/xml'  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.