王锋

王锋的博客

他的个人主页  他的博客

python 怎样使用正则表达式获得html标签数据

王锋  2010年05月26日 星期三 09:49 | 2219次浏览 | 1条评论

#-*- coding: utf8 -*-
import re

html = """
    <div class="box-s1-l">
        <div class="col"> <span class="day_s">白天</span>
            <div class="w-icon"><img alt='多云' src='http://www.sinaimg.cn/dy/weather/images/yb2/45_45/duoyun_0.gif' /></div>
            <h2>多云</h2>
            <div class="w-number"> <span class="tpte">14℃</span> </div>
        </div>
        <div class="col"> <span class="day_s">夜间</span>
            <div class="w-icon"><img alt='多云' src='http://www.sinaimg.cn/dy/weather/images/yb2/45_45/duoyun_1.gif' /></div>
            <h2>多云</h2>
            <div class="w-number"> <span class="tpte">6℃</span> </div>
        </div>
    </div>
"""

if __name__ == '__main__':
    p = re.compile('<[^>]+>')
    print p.sub("", html)</pre>

<p> 这个是去掉所有HTML标签。你可以把你需要提取数据的那行HTML用这个正则把非HTML标签的内容提取出 来</p>
<p> </p>
<p>例如:</p>
<p>取天气</p>
<p>
</p>
<pre name="code" class="python">#!/usr/bin/env python
#-*- coding: utf8 -*-
import re

html = """
    &lt;h2&gt;多云&lt;/h2&gt;
"""

if __name__ == '__main__':
    p = re.compile('&lt;[^&gt;]+&gt;')
    print p.sub("", html)</pre>

<p> 取温度</p>
<p>
</p>
<pre name="code" class="python">#!/usr/bin/env python
#-*- coding: utf8 -*-
import re

html = """
    &lt;div class="w-number"&gt; &lt;span class="tpte"&gt;14℃&lt;/span&gt; &lt;/div&gt;
"""

if __name__ == '__main__':
    p = re.compile('&lt;[^&gt;]+&gt;')
    print p.sub("", html)</pre>

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
王锋

回复 王锋  2010年05月26日 星期三 11:11

暂时没有评论

Zeuux © 2024

京ICP备05028076号