我有以下网络服务:'https://news.google.com/news/rss/?ned=us&hl=en'
我需要解析它并获取XML文件中每个项目的标题和日期值。
我试图将数据转换为xml文件,我试图解析它,但我看到所有空白值:
import requests
import xml.etree.ElementTree as ET
response = requests.get('https://news.google.com/news/rss/?ned=us&hl=en')
with open('text.xml','w') as xmlfile:
xmlfile.write(response.text)
with open('text.xml','rt') as f:
tree = ET.parse(f)
for node in tree.iter():
print (node.tag, node.attrib)
我不确定我哪里出错了。我必须以某种方式提取XML中每个项目的标题值和发布日期。
提前感谢您的任何答案。
答案 0 :(得分:0)
我并没有真正得到你想要的输出,但这样的东西(python3)
import feedparser
url = 'https://news.google.com/news/rss/?ned=us&hl=en'
d = feedparser.parse(url)
#print the feed title
print(d['feed']['title'])
#print tuples (title, tag)
print([(d['entries'][i]['title'], d['entries'][i]['tags'][0]['term']) for i in range(len(d['entries']))] )
显式打印为utf8字符串使用:
print([(d['entries'][i]['title'].encode('utf8'), d['entries'][i]['tags'][0]['term'].encode('utf8')) for i in range(len(d['entries']))])
也许如果您显示预期的输出,我们可以帮助您从解析器中获取正确的内容。