Разбор OAI2 / XML формат - PullRequest
       40

Разбор OAI2 / XML формат

0 голосов
/ 13 февраля 2019

У меня есть этот формат для анализа: 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'

Проблема в именах, если убрать, все работает нормально.Как я могу это исправить?

...