извлечение из bs4
Другой альтернативой является синтаксический анализатор чистого Python html5lib, который анализирует HTML, как это делает веб-браузер. В зависимости от настроек вы можете установить html5lib с помощью одной из следующих команд:
$ apt-get install python-html5lib
$ easy_install html5lib
$ pip install html5lib
С учетом сказанного вам необходимо все еще использовать форму множественного числа find_next_siblings()
Также вам потребуется параметр для вашей функции find_next_siblings()
.
пример:
get_html = 'https://archiwum.polityka.pl/art/sciganiewnbsp;organach,378798.html'
soup = bs4(get_html, 'html5lib')
find_location = soup.find('div', {'id' : 'container'}) \
.find('div', {'class' : 'middle'}) \
.find('div', {'class', 'right'}) \
.find('div', {'class' : 'box'}) \
.find('p', {'class' : 'box_text'}) \
.find_next_siblings('p')
for content in find_location:
print(content)
Просто измените 'html.parser'
на 'html5lib'
и find_next_siblings('p')
, затем итерируйте list()
еще лучше, добавить условный оператор для удаления пустых тегов
for content in find_location:
if content.get_text() is not '':
print(content)
Попробуйте и дайте мне знать, если это работает.