1

ハードドライブに保存されている html ファイルがあり、html ページに表示されている文字列を抽出し、python を使用してテキスト ファイルに保存する必要があります。

html representation with tags, etc: 
Bme:&nbsp;1&nbsp;Port:&nbsp;1<br />
Downstream&nbsp;line&nbsp;rate:&nbsp;6736&nbsp;kbps<br />
Upstream&nbsp;line&nbsp;rate:&nbsp;964&nbsp;kbps<br />

上記から抽出する必要があるのは、

Downstream&nbsp;line&nbsp;rate:&nbsp;

この場合は 6736 で、この番号をファイルに書き込みます。これはどのように達成できますか?

4

1 に答える 1

2

BeautifulSoup はおそらくやり過ぎです。すべての「ダウンストリーム」行がそのようにフォーマットされている場合、正規表現を使用してこれらの数値を簡単に取得できます。

>>> import re
>>> regex = r'Downstream&nbsp;line&nbsp;rate:&nbsp;(\d\d*)&nbsp;kbps<br />'
>>> re.search(regex, "Downstream&nbsp;line&nbsp;rate:&nbsp;6736&nbsp;kbps<br />").group(1)
'6736'

すべての行がそのように正確にフォーマットされていない場合は、正規表現をより一般的なものにする必要があるかもしれません。のようなものかもしれませんr'Downstream.*(\d\d*)'

于 2013-03-24T04:58:18.030 に答える