У меня есть этот формат для анализа: http://export.arxiv.org/oai2?verb=GetRecord&identifier=oai:arXiv.org:0804.2273&metadataPrefix=arXiv
Поэтому я хочу получить имена авторов:
import urllib.request
import xml.etree.ElementTree as ET
response = urllib.request.urlopen(url_to_fetch)
xml = response.read()
root = ET.fromstring(xml)
for record in root.find(OAI+'ListRecords').findall(OAI+"record"):
meta = record.find(OAI+'metadata')
info = meta.find(ARXIV+"arXiv")
authors = info.findall(ARXIV + 'authors/' + ARXIV + 'author')
for author in authors:
forenames = author.find(ARXIV+'forenames').text
keyname = author.find(ARXIV+'keyname').text
print(forenames)
print(keyname)
Но я получаю эту ошибку:
forenames = author.find(ARXIV+'forenames').text
AttributeError: 'NoneType' object has no attribute 'text'
Проблема в именах, если убрать, все работает нормально.Как я могу это исправить?