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 回答