XML имеет несколько пространств имен, но единственное пространство имен, о котором вам нужно беспокоиться, это http://www.smartraveller.gov.au/schema/rss/travel_advisories/
.
Это потому, что единственными элементами на пути к вашей цели, которые находятся в пространстве имен, являются ta:level
и ta:warning
.
Пример ...
from lxml import etree
import requests
req = requests.request('GET', "https://smartraveller.gov.au/countries/documents/index.rss")
a = str(req.text).encode()
tree = etree.fromstring(a)
ns = {'ta': 'http://www.smartraveller.gov.au/schema/rss/travel_advisories/'}
e = tree.findall('channel/item/ta:warnings/ta:level', ns)
for i in e:
print(i.text)
печать ...
2/5
2/5
4/5
2/5
...and so on
Если вы хотите получить список, рассмотрите возможность переключения с findall()
наxpath()
...
e = tree.xpath('channel/item/ta:warnings/ta:level/text()', namespaces=ns)
print(e)
отпечатки ...
['2/5', '2/5', '4/5', '2/5', and so on...]