BeautifulSoup не может объединить объекты str и NoneType - PullRequest
4 голосов
/ 24 мая 2011

Привет, я бегу Python 2.7.1 и Beautifulsoup 3.2.0 если я попытаюсь загрузить какой-нибудь XML-канал, используя

ifile = open(os.path.join(self.path,str(self.FEED_ID)+'.xml'), 'r')
file_data = BeautifulStoneSoup(ifile, 
    convertEntities=BeautifulStoneSoup.XHTML_ENTITIES)

я получаю следующую ошибку

  File "C:\dev\Python27\lib\site-packages\BeautifulSoup.py", line 1144, in __ini
t__
    self._feed(isHTML=isHTML)
  File "C:\dev\Python27\lib\site-packages\BeautifulSoup.py", line 1186, in _feed

    SGMLParser.feed(self, markup)
  File "C:\dev\Python27\lib\sgmllib.py", line 103, in feed
    self.rawdata = self.rawdata + data
TypeError: cannot concatenate 'str' and 'NoneType' objects

я стараюсь искать везде, но безуспешно ... пожалуйста, посоветуйте

Ответы [ 2 ]

0 голосов
/ 17 января 2015

У меня тоже была эта ошибка. Это сработало для меня:

from unidecode import unidecode
file_data = BeautifulSoup(unidecode(ifile.read()))
0 голосов
/ 24 мая 2011

С примером ...

from BeautifulSoup import BeautifulStoneSoup
xml = "<doc><tag1>Contents 1<tag2>Contents 2<tag1>Contents 3"
soup = BeautifulStoneSoup(xml)
print soup.prettify()
(...)

с здесь .Я предполагаю, что вам нужно передать строку в качестве первого параметра вместо файлового объекта ifile, попробуйте:

file_data = BeautifulStoneSoup(ifile.read(), 
    convertEntities=BeautifulStoneSoup.XHTML_ENTITIES)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...