beautifulsoup没有打印链接

时间:2015-01-08 23:34:39

标签: python xml python-2.7 beautifulsoup

我正在废弃rss

from bs4 import BeautifulSoup
import urllib2
import requests


url = raw_input("");
re=requests.get(url);

def rss_get_items(url):    
    request = urllib2.Request(url)
    response = urllib2.urlopen(request)
    soup = BeautifulSoup(response)

    for item_node in soup.find_all('item'):
        item = {}
        for subitem_node in item_node.findChildren():
            key = subitem_node.name
            value = subitem_node.text
            item[key] = value
        yield item

if __name__ == '__main__':
    for item in rss_get_items(url):
        print item['title']
        print item['pubdate']
        print item['link']
        print item['guid']
        print item['description']

我从这个网站上发布的答案中得到了这个脚本部分的脚本,我只是给了那个人。我忘记了原帖和发布它的用户名。无论如何我不能打印链接,它只是不工作,我想知道原因。

我可以按照文档进行操作

for link in soup.find_all('a'):
    print(link.get('href'))
# http://example.com/elsie
# http://example.com/lacie
# http://example.com/tillie

这样可行,但出于好奇,我只想知道第一种方法是打印链接,只是出于好奇。

我正在使用aljazeera.com rss

1 个答案:

答案 0 :(得分:3)

在抓取xml内容时,请使用xml解析器创建汤。

soup = BeautifulSoup(response, 'xml')