ウェブサイトのデータを掻き集めていて、BeautifulSoup
(bs4
)を使用して問題が発生しました。私はいくつかの要素のテキストを取得する必要があります、何か(カンマ、スペースなど)で区切られて、テキストが現れる順序で分割することができます。 bs4.element.Tag
のテキスト<br>の後にbrタグを置き換えた後に消えます
text
属性は、テキストコンテンツを提供します。問題は、私は、間に<br>
があっても、テキストが連結取得しています、です。私はOneTwo
は一つの単語/文章や複数であるかを区別する方法がありません。
私はfind_all
を使用して、すべての<br>
タグを見つけて、カンマ,
に置き換えて、テキストを分割することができます。しかし、br
タグを交換するとbr
タグを次のテキストを削除しているようです。私はそれを印刷することOne,Two
またはOne,Two,,
または代わりに何か似ている
from bs4 import BeautifulSoup
soup = BeautifulSoup("""
<html>
<head>
</head>
<body>
<div>
One
<br>
Two
<br>
<br>
</div>
</body>
</html>
""".replace(' ', '').replace('\n', ''), "html.parser")
print soup.div.text
# Out: OneTwo
for br in soup.find_all('br'):
br.replace_with(',')
print soup.text.replace('\n', '')
# Out: One,
:ここ
は、問題を再現するいくつかのコードです。どのように私は、プロセス内の他のテキストを削除せずに、文字とbr
タグを置き換えることができますか?
あなたは '' –
述べたように、これはまだ個々の単語を分離しない '' divText = [単語があればsoup.div.split内の単語のための単語( '
を')]試すことができます。私は1つが単一の単語であるかどうかわかりません。 –
編集して、もう一度ご覧ください。 –