Я только начинаю изучать python и bs4. И я пытаюсь разобрать HTML-страницы выглядит следующим образом:Метод поиска BeautifulSoup возвращает элемент тега, но строка вызова get 'NoneType' Error
....
<p class="result-info">
<span class="result-meta">
<span class="result-price">$1895</span>
<span class="result-hood"> address1 </span>
</span>
....
Мой питон код, как показано ниже:
soup = BeautifulSoup(allResponse.content)
resultInfoTags = soup.find_all("p", class_="result-info")
infoList = []
for infoTag in resultInfoTags:
infoDS = {}
infoDS['detail_link'] = infoTag.find("a")['href']
for metaData in infoTag.find_all("span", class_="result-meta"):
firstSpan = metaData.find("span");
infoDS['price'] = firstSpan.string
lala = metaData.find("span", class_="result-hood")
infoDS['area'] = lala.string
infoList.append(infoDS)
Ошибка происходит на линии infoDS['area'] = lala.string
. Он жалуется
AttributeError: 'NoneType' object has no attribute 'string'
Но когда я типа (Лала) печати, это показывает, что Лала является <class 'bs4.element.Tag'>
. Когда я печатаю Лала сама по себе, она показывает весь текст по тегу
<span class="result-hood"> (address1)</span>
Я смущен, потому что я использую ту же идею, чтобы получить firstSpan и он не имеет никаких ограничений для вывода правой строки $ 1895. Но это не работает для лалы ... Я потратил пару часов, чтобы отчаянно исследовать и искать в Интернете, но ничего не нашел полезного ...
Любое предложение или подсказка были бы оценены!
опубликовать все html-код, пожалуйста –