2013-03-24 4 views
1

На моем жестком диске сохранен html-файл, и мне нужно извлечь строки, отображаемые на странице html, и сохранить их в текстовый файл с помощью python.Извлечение строк из html-файла с помощью Python (beautifulsoup?)

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, и записать это число в файл. Как это можно достичь?

ответ

2

BeautifulSoup, вероятно, слишком для этого. Если все строки «Downstream» отформатированы таким образом, вы можете легко получить эти числа с регулярными выражениями.

>>> 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*)'.

+0

Спасибо, это разрешило мою проблему. – user2203807