LINUX.ORG.RU

python3 / beautifulsoup4 / gumbo-parser


0

1

кто-нибудь пользовался всем этим вместе?

поставил обе либы, импорт делается без ошибок

пробую запустить gumbo/soup_adapter_test.py
сначала была ошибка, что он не принимает текст, а только байты
добавил к тексту encode()

теперь


ERROR: testSimpleParse (__main__.SoupAdapterTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./gumbo/soup_adapter_test.py", line 34, in testSimpleParse
""")
File «/home/user/www/beautifulsoup/gumbo/soup_adapter.py», line 93, in parse
soup.append(_add_node(soup, output.contents.root.contents))
File «/home/user/www/beautifulsoup/gumbo/soup_adapter.py», line 87, in _add_node
return _HANDLERS[node.type.value](soup, node.contents)


........


File «/home/user/www/beautifulsoup/gumbo/gumboc.py», line 433, in __getattr__
return getattr(self.contents, name)
File «/home/user/www/beautifulsoup/gumbo/gumboc.py», line 433, in __getattr__
return getattr(self.contents, name)
RuntimeError: maximum recursion depth exceeded
----------------------------------------------------------------------
Ran 1 test in 0.006s

FAILED (errors=1)


Утилитой 2to3 bs4 обрабатывал
Где-нибудь можно взять рабочий пример?

Ответ на: комментарий от tailgunner

сомнительное решение, но и оно не помогло
если лимит 9999 - то скрипт просто дольше работает и ошибка такая же

а если 99999 - Ошибка сегментирования (core dumped)

sergey-novikov ★★★
() автор топика

Я пользовался beautifulsoup для парсинга сайтов, но потом прочитал и понял по опыту, что lxml и XPath, несмотря на то, что html - это формально не XML и несмотря на то, что html бывает невалидный, решают задачу гораздо проще и удобнее. lxml умеет решать невалидности HTML очень хорошо по каким-то там общепринятым схемам решения конфликтов. С beautifulsoup код получался толще, с lxml удобнее и те же самые сайты перемололись без проблем.

kiverattes ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.