我在报废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

最佳答案

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

soup = BeautifulSoup(response, 'xml')

关于python - beautifulsoup不打印链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27851487/

10-12 17:04