0

我正在使用 line.rfind 来解析特定的 html 代码行。例如,这是我正在解析的 html 代码行:

<strong class="temp">79<span>&deg;</span></strong><span class="low"><span>Lo</span> 56<span>&deg;</span></span>

这是我用来分割线以(在这种情况下)拉出'79'的代码。

position0 = line.rfind('{}'.format(date1.strftime("%a")))
if position0 > 0 :
        self.high0 = lines[line_number + 4].split('<span>')[0].split('">')[-1]

现在我只需要在 >=94 和 <=37 的情况下提取该数字。如果它不符合这个标准,我不希望任何事情发生。有任何想法吗?先感谢您!

4

2 回答 2

0

我认为我会使用正则表达式来获得高温。如果我正在解析一个冗长的 Html 文档,或者可能是 beautifulsoup。以下应该从重复 OP 中列出的模式的字符串中获取所有高温。

import re

s = '<strong class="temp">79<span>&deg;</span></strong><span class="low"><span>Lo</span> 56<span>&deg;</span></span>'
p = re.compile(r'>(?P<high>\d+)<span>\&deg')
matches = p.finditer(s)
for match in matches:
    print match.group('high')
于 2013-09-11T04:49:22.063 回答
0

我能够通过执行以下操作来实现这一点:

if int(c.high0) >= 34:
            plt.text(x, y, int(c.high0), fontsize=7, fontweight='bold')
于 2013-09-14T00:57:35.303 回答