Мне нужно преобразовать веб-страницу в XML (используя Python 3.4.3
). Если я пишу содержимое URL к файлу, то я могу прочитать и разобрать его отлично, но если я пытаюсь читать прямо с веб-страницы, я получаю следующее сообщение об ошибке в моем терминале:OSError: [Errno 36] Слишком длинное имя файла:
File "./AnimeXML.py", line 22, in xml = ElementTree.parse (xmlData) File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/xml/etree/ElementTree.py", line 1187, in parse tree.parse(source, parser) File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/xml/etree/ElementTree.py", line 587, in parse source = open(source, "rb") OSError: [Errno 36] File name too long:
Мой питон код :
# AnimeXML.py
#! /usr/bin/Python
# Import xml parser.
import xml.etree.ElementTree as ElementTree
# XML to parse.
sampleUrl = "http://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime=16989"
# Read the xml as a file.
content = urlopen (sampleUrl)
# XML content is stored here to start working on it.
xmlData = content.readall().decode('utf-8')
# Close the file.
content.close()
# Start parsing XML.
xml = ElementTree.parse (xmlData)
# Get root of the XML file.
root = xml.getroot()
for info in root.iter("info"):
print (info.attrib)
есть ли способ, что я могу исправить мой код, так что я могу читать веб-страницу непосредственно в питон, не получая эту ошибку?
Спасибо за ответ, проблема решается в настоящее время. Я новичок с python. –
В чем разница между использованием «parse» и «fromstring»? –
@JasterTDCClan: Это объясняется в документах, которые я связывал и цитировал: 'parse' принимает имя файла или файл,' fromstring' принимает строку. Я не знаю, как сделать это яснее. – abarnert