Python TypeError: объект «NoneType» не может быть вызван с помощью minidon и beautifulsoup

Я пытаюсь очистить xml, используя красивый суп и мини-диск, но получая ошибки в python.

Ниже приведен мой код и ошибка для этого.

Код:

import xml.dom.minidom
import bs4 as bs
import urllib.request
source = urllib.request.urlopen('somelink.xml').read()
soup = bs.BeautifulSoup(source,'lxml')
doc = xml.dom.minidom.parse(soup)

Код:

Traceback (последний последний вызов): Файл «", строка 1, inrunfile ('D: / NLTK / Rwire Interface / untitled0. py ', wdir =' D: / NLTK / Rwire Interface ') Файл «C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py», строка 678, в файле runfileexecfile (имя файла, пространство имен) Файл «C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py», строка 106, в execfileexec (компиляция (f.read (), имя_файла, «exec»), пространство имен) Файл «D: / NLTK / Rwire Interface / untitled0.py ", строка 13, indoc = xml.dom.minidom.parse (суп) Файл" C: \ ProgramData \ Anaconda3 \ lib \ xml \ dom \ minidom.py ", строка 1958, в parsereturn expatbuilder.parse (файл) Файл «C: \ ProgramData \ Anaconda3 \ lib \ xml \ dom \ expatbuilder.py», строка 913, в файле parseresult = builder.parseFile (файл) Файл «C: \ ProgramData \ Anaconda3 \ lib \ XML \ дом \ expatbuild er.py ", строка 204, в parseFilebuffer = file.read (16 * 1024) TypeError: объект« NoneType »не может быть вызван
0
задан Gsk 13 August 2018 в 13:17
поделиться

1 ответ

Ваши данные уже разобраны, см. ниже:

import xml.dom.minidom
import bs4 as bs
import urllib.request
source = urllib.request.urlopen('somelink.xml').read()
soup = bs.BeautifulSoup(source,'lxml') #Soup has parsed data
doc = xml.dom.minidom.parse(source)  #Doc has parsed data 

xml.dom.minidom.parse () ожидает xml либо в строчном формате, либо в формате файла. Вы предоставляете ему суп-объект, который он не принимает. Следовательно, ваше сообщение об ошибке.

0
ответ дан Noor Ali Jafri 15 August 2018 в 13:58
поделиться
Другие вопросы по тегам: