玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python删除html页面文字只留html标签用如何实现

由于想比较同一个网页中某个标签下的子节点的的相似度
操作对象只是html标签,所以想先删除html中标签之外的文字,以排除干扰。
请问,有什么比较高效快捷的解决方法吗?
注:目前只想到使用正则来解决

HTMLParser 够用了

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import HTMLParser

def get_tags(html, l=None):

    if l is None:
        l = []

    class MyHTMLParser(HTMLParser.HTMLParser):

        def handle_starttag(self, tag, attrs):
            l.append(tag)
        def handle_endtag(self, tag):
            pass

    parser = MyHTMLParser()
    parser.feed(html)
    return l # 或者 return ' '.join(l) 直接比较字符串

if __name__ == '__main__':
    html = """


<div id="footer">
        <div class="container">
            <ul>
                <li><a>链接一</a></li>
                <li><a>链接二</a></li>
            </ul>
            <p>文字段落</p>
            <img src="usr/img.png"/>
        </div>
    </div>

"""
    print get_tags(html) # 输出的是开始标签 ['div', 'div', 'ul', 'li', 'a', 'li', 'a', 'p', 'img']

http://snipplr.com/view/50835/stripremove-html-tags-django-utils/

# import the strip_tags
from django.utils.html import strip_tags

# simple string with html inside.
html = '<p>paragraph</p>'
print html # will produce: <p>paragraph</p>

stripped = strip_tags(html)
print stripped # will produce: paragraph

HTMLParser 够用了

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import HTMLParser

def get_tags(html, l=None):

    if l is None:
        l = []

    class MyHTMLParser(HTMLParser.HTMLParser):

        def handle_starttag(self, tag, attrs):
            l.append(tag)
        def handle_endtag(self, tag):
            pass

    parser = MyHTMLParser()
    parser.feed(html)
    return l # 或者 return ' '.join(l) 直接比较字符串

if __name__ == '__main__':
    html = """


<div id="footer">
        <div class="container">
            <ul>
                <li><a>链接一</a></li>
                <li><a>链接二</a></li>
            </ul>
            <p>文字段落</p>
            <img src="usr/img.png"/>
        </div>
    </div>

"""
    print get_tags(html) # 输出的是开始标签 ['div', 'div', 'ul', 'li', 'a', 'li', 'a', 'p', 'img']

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19014.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月23日 - 11时19分53秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules