0

私は、もともと php でコーディングされていた下手な Web サイトを書き直そうとしているところです。

ap タグ内のテキストを分離しようとしていますが、テキスト部分だけをどのように取得できるか疑問に思っていました。何か案は?

<p>
<span lang="EN-IE" xml:lang="EN-IE">

<br>
TEXT SAMPLE 1
<br>
<br>
TEXT SAMPLE 2

<span lang="EN-IE" xml:lang="EN-IE">TEXT SAMPLE 3
</span>,

<span lang="EN-IE" xml:lang="EN-IE">&nbsp;TEXT SAMPLE 4
</span>&nbsp;TEXT SAMPLE 5

<span lang="EN-IE" xml:lang="EN-IE">.&nbsp;</span>

</span><span lang="EN-IE" xml:lang="EN-IE">

<br>
<br>

TEXT SAMPLE 6
</span>

<span lang="EN-IE" xml:lang="EN-IE">&nbsp;</span>

TEXT SAMPLE 7

4

1 に答える 1

0

BeautifulSoupは、始めるのに適した場所です。特にget_text関数。

これにより、上記のスニペットのすべてのテキストが出力されます。

from bs4 import BeautifulSoup

CONTENT = """
<p>
<span lang="EN-IE" xml:lang="EN-IE">

<br>
TEXT SAMPLE 1
<br>
<br>
TEXT SAMPLE 2

<span lang="EN-IE" xml:lang="EN-IE">TEXT SAMPLE 3
</span>,

<span lang="EN-IE" xml:lang="EN-IE">&nbsp;TEXT SAMPLE 4
</span>&nbsp;TEXT SAMPLE 5

<span lang="EN-IE" xml:lang="EN-IE">.&nbsp;</span>

</span><span lang="EN-IE" xml:lang="EN-IE">

<br>
<br>

TEXT SAMPLE 6
</span>

<span lang="EN-IE" xml:lang="EN-IE">&nbsp;</span>

TEXT SAMPLE 7
"""

if __name__ == '__main__':
    soup = BeautifulSoup(CONTENT)
    print soup.get_text()

多くの新しい行があるため、出力には何らかの文字列操作が必要になる場合がありますが、これにより HTML が取り除かれます。

于 2013-01-21T03:52:30.747 に答える