1
私はBeautifulSoupを使ってタグなしでテキストを取得しようとしています。私は、.contents、の.text、.find(テキスト=真)、およびを.next_sibling を.string を使用してみました、そして、彼らは以下のとおりです。BeautifulSoupを使ってタグなしでテキストを取得する
編集 Nvmd私はちょうどは私にとって作品を.next_siblingことに気づきました。とにかくこの質問は、同様のケースを扱うメモ収集メソッドです。
import bs4 as BeautifulSoup
s = """
<p>
<a>
Something I can fetch but don't want
</a>
I want to fetch this line.
<a>
Something else I can fetch but don't want
</a>
</p>
"""
p = BeautifulSoup(s, 'html.parser')
print p.contents
# [u'\n', <p>
# <a>
# Something
# </a>
# I want to fetch this line.
# <a>
# Something else
# </a>
# </p>, u'\n']
print p.next_sibling.string
# I want to fetch this line.
print p.string
# None
print p.text
# all the texts, including those I can get but don't want.
print p.find(text=True)
# Returns an empty line of type bs4.element.NavigableString
print p.find(text=True)[0]
# Returns an empty line of type unicode
手動で私が取得したい行を取得するために、文字列sを解析するよりも簡単な方法がある場合、私は思ったんだけど?
これは本当に天才です....... –