0

bs4 を使用して Web サイトからデータを抽出しようとしていますが、必要な正確なテキストにアクセスできません。次のコードを使用する

name = (soup('td', {'class':'mstat'}))

出力

[<td class="mstat" colspan="3"><span class="r">badges</span></td>]

ただし、クラス「r」が必要です。次のコードを使用してクラス "r" にアクセスしようとすると、空のリストが返されます []

name = (soup('td', {'class':'r'}))

出力

[]

「バッジ」を読み取るテキストを取得したいと思います。テキストは長さを変更して異なる可能性があるため、周囲のコードを削除することはできません。

希望の出力

'badges'

誰が私が間違っているのか知っていますか...

4

1 に答える 1

0

<span>代わりにタグを探しています:

soup('span', class_='r')

そのクラスのタグspan内でそのクラスのタグのみを検索する場合は、ループする必要があります。tdmstat

spans = []
for td in soup('td', class_='mstat'):
    spans.expand(td('span', class_='r'))
于 2013-05-19T20:12:09.007 に答える