Я пытаюсь извлечь все item
элементов из файла XML в https://feeds.finance.yahoo.com/rss/2.0/headline?s=goog®ion=US&lang=en-US, так что я могу получить доступ к title
и link
для каждого элемента, который можно затем выполнять некоторые другие функции.
не может извлечь предмет элемента из XML
XML-имеет следующую структуру:
<rss>
<channel>
<title> </title>
<copyright></copyright>
<link></link>
<description></description>
<language></language>
<lastBuildDate></lastBuildDate>
<image>
<url></url>
<title></title>
<link></link>
<width></width>
<height></height>
</image>
<item>
<title></title>
<link></link>
<description></description>
<guid></guid>
<pubDate></pubDate>
</item>
</channel>
</rss>
я написал следующий код:
import urllib
from xml.etree import ElementTree
class News():
base_url = 'http://finance.yahoo.com/rss/headline?s='
query = 'goog'
url = base_url + query
response = urllib.urlopen(url)
data = response.read()
dom = ElementTree.fromstring(data)
items = dom.findall('channel/item/')
for item in items:
print item.text
, который выводит каждый элемент внутри <channel>
элемента, например,
Google funds 128 news projects in Europe
http://us.rd.yahoo.com/finance/news/rss/story/*http://sg.finance.yahoo.com/news/google-funds-128-news-projects-211927426.html
None
yahoo_finance/2067775856
Wed, 24 Feb 2016 21:19:27 GMT
Однако, я не могу работать, как получить доступ к элементам внутри <item>
элемента. Я попытался следующий код:
for item in items:
title = item.find('title')
print title.text
Но я получаю следующее сообщение об ошибке AttributeError: 'NoneType' object has no attribute 'text'
Как я могу получить доступ к title
и link
элементов внутри item
элемента? Спасибо
Вы можете исправить свой отступ в формате XML для лучше понять его структуру? – Arman
сделано! думаю, что это правильно, спасибо –