Разделение текста внутри тега <pre> - PullRequest
0 голосов
/ 07 января 2019

Я хотел попробовать базовый веб-анализ, но столкнулся с проблемой, так как я привык к простым тэд-тегам, в этом случае у меня была веб-страница, на которой был следующий пре-тег и весь текст внутри него, что означает это немного сложнее очистить его.

<code><pre style="word-wrap: break-word; white-space: pre-wrap;">
11111111
11111112
11111113
11111114
11111115

Любые предложения о том, как очистить каждый ряд?

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Если это точно , что вы хотите проанализировать, вы можете легко использовать функцию splitlines(), чтобы получить список строк, или вы можете настроить split() функция, как это.

<code>from bs4 import BeautifulSoup

content = """
<pre style="word-wrap: break-word; white-space: pre-wrap;">
11111111 
11111112 
11111113
11111114
11111115 
"" "# Это ваш контент soup = BeautifulSoup (content, "html.parser") stuff = soup.find ('pre'). text lines = stuff.split ("\ n") # или замените это на stuff.splitlines () # print (lines) дает ["11111111", "11111112", "11111113", "11111114", "11111115"] для строки в строках: печать (линия) # печатает каждый ряд отдельно.
0 голосов
/ 07 января 2019

Если каждая строка действительно находится на отдельной строке, почему бы просто не разбить содержимое на список?

data = soup.find('pre').text
lines = data.splitlines()

Вы можете передать True в подпрограмму splitlines , чтобы сохранить окончания строк, если вы этого хотите.

...