andreykyz
'NavigableString' object has no attribute ‘contents’
В BeautifulSoup есть два принципиально разных вида объектов Tag и NavigableString. Разница в том, что Navigable string соответствует текстовой строке и не имеет атрибута contents (по нему нельзя производить поиск в глубину, так как это уже “листик” дерева элементов)
andreykyz
print tag.contents.name
Судя по всему, вылетает здесь, когда в переменной ‘tag’ попадает не тег, а строковое значение
import urllib2
import html5lib
from html5lib import treebuilders
parser = html5lib.HTMLParser(tree=treebuilders.getTreeBuilder("beautifulsoup"))
soup = parser.parse(urllib2.urlopen("http://a-el.ru/catalog.htm").read())
soup = parser.parse(f)
table_soup = soup.table.tbody.tr.td.table.tbody.tr.nextSibling.nextSibling.tbody
for tag in table_soup:
if isinstance(tag, Tag):
print tag.contents[0].name
В таком случае, этот код выведет имена тегов, и пропустит все строки