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