python打蛇_Python 实现类似PHP的strip_tags函数功能,并且可以自定义设置保留标签...

最近在研究 Python ,发现用的还是很不习惯,很多PHP里面很简单的功能在Python 里面都得找半天,而且很多功能都得自己实现。

今天做个采集,需要过滤内容中的标签,搞了一下午,貌似终于搞出来了,测试了下达到了预想的效果,废话不多说贴上代码吧

from html.parser import HTMLParser

def strip_tags(html, save=None):

result = []

start = []

data = []

def starttag(tag, attrs):

if tag not in save:

return

start.append(tag)

if attrs:

j = 0

for attr in attrs:

attrs[j] = attr[0] + '="' + attr[1] + '"'

j += 1

attrs = ' ' + (' '.join(attrs))

else:

attrs = ''

result.append('')

def endtag(tag):

if start and tag == start[len(start) - 1]:

result.append('' + tag + '>')

parser = HTMLParser()

parser.handle_data = result.append

if save:

parser.handle_starttag = starttag

parser.handle_endtag = endtag

parser.feed(html)

parser.close()

for i in range(0, len(result)):

tmp = result[i].rstrip('\n')

tmp = tmp.lstrip('\n')

if tmp:

data.append(tmp)

return ''.join(data)

使用方法:

result = strip_tags("""发生的杀毒足球比分直播竞彩足球篮球竞彩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值