A NavigableString
- это немного текста в вашем HTML-документе. См. документы . По крайней мере, один из элементов в теге, который вы искали, - это немного текста, возможно, пробел.
Строки не могут содержать текст, они являются текстом, поэтому у них нет метода get_text
, и поэтому попытка вызова такого метода является ошибкой.
Вы можете проверить каждый элемент, чтобы узнать, является ли он bs4.element.Tag
, прежде чем пытаться вызвать get_text()
для них.
for item in a:
if type(item) is bs4.element.Tag:
string += item.get_text()
Примечание. Я изменил вашу итерационную переменную на item
, поскольку тот факт, что вы назвали ее element
, вероятно, зациклил вас на мысли, что на самом деле это элемент HTML, хотя, по крайней мере, в одном случае это определенно не .