Я написал этот скрипт, чтобы очистить соответствующую веб-страницу (в коде) в файл XML:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
xml = open("import.xml", "w+")
xml.write(urlopen('http://mahmi.org/api/peptides/sourceProteins/241282699').read().decode('utf-8'))
xml.close()
Когда я открываю файл 'import. xml', я вижу данные есть; то есть начало файла выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><sourceProteins><sourceProtein><protein><id>2232238</id><sequence>MLLTNFQNFASLHAVPVAQIRAMEACPLPTEPIRCVIRELDVSKLTPDQLTQLNEVIDGYNKDLAFMIEELHKRANRRYCHGKNFIKWRGLLRAAHAVVHAALPPGMQKTHLLSKGGLQGKMWKTALEDACSTMDRYWRSIQVAVYCELRNKEFYSKLNDAEKYYVGCLLNNTGYLFFDMLDGKTPKPALPNKLKGKLSDPRNLCRKVRATVRRHSRRLPRHGVDRSCSLTTECYSVTQDSQGNQTISVITNTRGKRLLIPVKGKGRIGRTIKIVRDNGKFYLHIPLKTPVVPFEHIPRAPLAAGKATLHCTALDMGYTEVFTDDAGNFYGTELGKTLDAIGRKLDEVYRERNRWHARYRNEKDDKKKLNILRFNLGRKKLDAFETRARARVVCLVNKAINDIMAMRPADVYLIERFGQQFNFAGLSKKTRRKLSGWIRGTIEERFFFKASIHGAKAVYVPASYSSRRCPVCGYVHKTNRNGD</sequence><name>T2D-154A_GL0135792</name></protein><uniprotData><uniprotId>O66401</uniprotId><uniprotOrganism>Aquifex aeolicus (strain VF5)</uniprotOrganism><uniprotProtein>YZ05_AQUAE Putative...
Так что теперь я хочу прочитать в этом файле и, например, распечатать весь текст под тегом uniprotData:
Я написал этот код:
import xml.etree.ElementTree as ET
fileopen = open('import.xml').read()
root = ET.fromstring(fileopen)
for x in root.iter('uniprotData'):
print(x.text)
Но вывод «Нет». Может кто-нибудь объяснить, почему это так?