weixin_42355857 2010-01-10 22:41
浏览 251
已采纳

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

我想要获得<h2>多云</h2> 里面的多云,
<<div class="w-number"> <span class="tpte">14℃</span> </div>里面的14℃
请问我应该使用怎样的正则表达式??谢谢

<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>[color=red]多云[/color]</h2>
<div class="w-number"> <span class="tpte">[color=red]14℃[/color]</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>
  • 写回答

1条回答 默认 最新

  • weixin_42520880 2010-01-10 22:41
    关注

    #!/usr/bin/env python
    #-*- 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)

     这个是去掉所有HTML标签。你可以把你需要提取数据的那行HTML用这个正则把非HTML标签的内容提取出来

     

    例如:

    取天气

    #!/usr/bin/env python
    #-*- coding: utf8 -*-
    import re
    
    html = """
        <h2>多云</h2>
    """
    
    if __name__ == '__main__':
        p = re.compile('<[^>]+>')
        print p.sub("", html)

     取温度

    #!/usr/bin/env python
    #-*- coding: utf8 -*-
    import re
    
    html = """
        <div class="w-number"> <span class="tpte">14℃</span> </div>
    """
    
    if __name__ == '__main__':
        p = re.compile('<[^>]+>')
        print p.sub("", html)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器