2017-04-16 18 views
-3

Beautiful Soup with Python 3を使用せずにタグ間でhtml値を取得するにはどうすればよいですか? タグ間の値のリストを作成しようとしています。 どうすればいいですか?正規表現を使用しますか?Python 3を使用してHTMLタグから値を取得する方法

<td class="standing-table__cell standing-table__cell--name">Chelsea</td> 
<td class="standing-table__cell standing-table__cell--name">Tottenham</td> 
<td class="standing-table__cell standing-table__cell--name">Liverpool</td> 

「チェルシー」、「トッテナム」、「リバプール」などの値はどのように取得できますか?

おかげ

+1

Googleからの最初の結果、https://docs.python.org/3/library/html.parser.html – smoggers

+0

「美しいスープ」を使用しない特定の理由はありますか? –

+0

私は標準ライブラリしか使用できないと言われています – kiwi

答えて

0

私はBS4をお勧めしていますが、正規表現を使用する場合:

my_str = '<td class="standing-table__cell standing-table__cell--name">Chelsea</td>' 
match = re.search('>(.*?)</', my_str) 
if match : 
    match = match.group(1) 

これはsearchということを覚えておいてください

print(match) 
Chelsea 

HTMLタグ間の任意の文字列にマッチします最初の一致を返します(存在しない場合)。
すべての出現を望む場合は、findall代わりに

+0

一致するものがない場合はどうなりますか? –

+0

@Pedro Lobito私はこれが最高の解決策であるとは決して言いませんでした(実際には私はbs4をお勧めしました)。また、私はそれがあなたが意味するものなら 're.search'が' None'を返すかもしれないと言いました。とにかく、私はあなたの入力のために、そのケースを処理するコードを更新しました。 –

+0

うれしいことに、 'if match:'のみを使うことができます。 –

関連する問題