BeautifulSoup has bug in rss tag 'link'

作者: 2hei 发表于2009年9月15日 18:17
版权声明: 可以转载, 转载时务必以超链形式标明文章原始出处和作者信息及版权声明
http://www.2hei.net/mt/2009/09/beautifulsoup-has-bug-in-rss-tag-link.html
BeautifulSoup 在处理rss页面时发现了如下问题,在rss页面中如果包含<link>标签,BeautifulSoup 处理的不好,具体如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib,re,unicodedata,string,sys,re
from BeautifulSoup import *

if __name__=="__main__":
    response = urllib.urlopen("http://news.163.com/special/00011K6L/rss_newstop.xml")
    result = response.read()
    soup = BeautifulSoup(''.join(result))
    print soup.originalEncoding   
    print soup.prettify()
    news = soup.findAll('link')
    print news

============
gbk
<?xml version='1.0' encoding='utf-8'?>
<?xml version='1.0' encoding='utf-8'?>
<rss version="2.0">
 <channel>
  <title>
   网易头条新闻
  </title>
  <link />
  http://news.163.com/
  <description>
   头条新闻
  </description>
  <item id="1">
   <title>
    <![CDATA[人民日报:人民精神文化生活"前所未有的丰富"]]>
   </title>
   <link />
   http://news.163.com/09/0914/13/5J6444CA0001124J.html
   <description>
    <![CDATA[人民网9月14日报道 新中国成立60年来,我国新闻出版事业走过了不平凡的历程。从中人们能深切感受到它对振奋精神、凝聚力量、促进改革发展稳定的巨大作用,也会切身体会到其与时代同行、与人民同心的历史性进步。 这种进步,可以从两个方面来考量。一方面是这些年来新闻出版业“前所未有的创新”。从全面推动宣传思想工作“  ]]>
    ......
   </description>
   <pubdate>
    2009-09-14 13:19:09
   </pubdate>
  </item>
...
...

[<link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />, <link />]

结果可以看到没有取到link标签的内容,应该是BeautifulSoup在自作聪明的补全标签时出现了问题。

| | Comments (1) | TrackBacks (0)

1 Comments

u2 说:

not bad!

发表一个评论

关于这篇文章

这篇文章由2hei2009年9月15日 18:17发布.

上一篇:PYTHON_EGG_CACHE

下一篇:python use BeautifulSoup crawl weather forecast

回到首页 或者查看归档文章