BeautifulSoup has bug in rss tag ‘link’
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在自作聪明的补全标签时出现了问题。
本文固定链接: http://2hei.net/beautifulsoup_has_bug_in_rss_tag_link.html | 二黑的站点
not bad!
2009-09-15 下午 6:32