Тег Python beautifulsoup, содержащий несколько полнотекстовых строк, которые нелегко найти общим способомPython

Программы на Python
Ответить
Anonymous
 Тег Python beautifulsoup, содержащий несколько полнотекстовых строк, которые нелегко найти общим способом

Сообщение Anonymous »

Открыто множество вопросов, на которые даны ответы, относительно использования красивого супа для извлечения текста из строки, однако я не могу найти решения для получения правильного текста, например:

Код: Выделить всё


2
bananas

3
oranges

которые обобщаются для получения выходных данных:

Код: Выделить всё

2 bananas
3 oranges
где родительским элементом может быть , и требование указать его как часть findall не требуется.
Интересно, что html2text может обеспечить идеальный вывод для таких типов файлов (без тега), но beautifulsoup, похоже, вообще не может сделать это правильно. beautifulsoup будет выводить каждое слово в строке, или многие онлайн-решения будут создавать конкатенацию с пробелами между словами, используя ' ' .join(t.strip() for t в видимом_тексте)
Это вложение видимого текста на несколько нижних уровней, которое, по-видимому, и вызывает проблему с красивым супом. внутри также вызывает те же проблемы.
Я пробовал это:

Код: Выделить всё

    soup = BeautifulSoup(myHtmlFile, 'html.parser')
groupedElements = soup.findAll(['ul','ol','td','p','li', 'br','div'])
for internalElements in groupedElements:
for listElement in internalElements:
wantedText = listElement.text
wantedTag = inernalElements.parent
поэтому мы хотим, чтобы сохранялся тег, содержащий каждую отдельную строку полного текста, а не тег, скажем, 2\nбананы\n3\апельсины или 2 банана 3 апельсина.>

Подробнее здесь: https://stackoverflow.com/questions/727 ... sily-found
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»