扫码关注官方订阅号
由于想比较同一个网页中某个标签下的子节点的的相似度。 操作对象只是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 = """ <p id="footer"> <p class="container"> <ul> <li><a>链接一</a></li> <li><a>链接二</a></li> </ul> <p>文字段落</p> <img src="usr/img.png"/> </p> </p> """ print get_tags(html) # 输出的是开始标签 ['p', 'p', '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
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
HTMLParser 够用了
http://snipplr.com/view/50835/stripremove-html-tags-django-utils/