使用python去除HTML中标签的几种方式

版权声明:本博客内容为学习过程中的一些记录,大部分转载内容已标明转载,部分内容如有因疏忽未注明请与我联系,转载原创内容请注明链接,谢谢! https://blog.csdn.net/xiaodongxiexie/article/details/79487798

这个repo 用来记录一些python技巧、书籍、学习链接等,欢迎star

github地址

待删除HTML示例标签如下:

In [96]: test
Out[96]: '<p>just for test</p><br/><font>just for test</font><b>test</b>'

方法1:

In [97]: str_ = ''
    ...: flag = 1
    ...: for ele in test:
    ...:     if ele == "<":
    ...:         flag = 0
    ...:     elif ele == '>':
    ...:         flag = 1
    ...:         continue
    ...:     if flag == 1:
    ...:         str_ += ele
    ...:         

In [98]: str_
Out[98]: 'just for testjust for testtest'

In [99]: str_ = ''
    ...: flag = 1
    ...: for ele in test:
    ...:     if ele == "<":
    ...:         flag = 0
    ...:     elif ele == '>':
    ...:         flag = 1
    ...:         ele = ' '
    ...:     if flag == 1:
    ...:         str_ += ele
    ...:         

In [100]: str_
Out[100]: ' just for test   just for test  test '

方法2:

import re
In [156]: pat = re.compile('(?<=\>).*?(?=\<)')

In [157]: pat.findall(test)
Out[157]: ['just for test', '', '', 'just for test', '', 'test']

In [158]: ''.join(pat.findall(test))
Out[158]: 'just for testjust for testtest'

方法3:

pat = re.compile('>(.*?)<')
''.join(pat.findall(test))

方法4:

In [167]: pat = re.compile('<[^>]+>', re.S)

In [168]: pat.sub('', test)
Out[168]: 'just for testjust for testtest'

这个repo 用来记录一些python技巧、书籍、学习链接等,欢迎star

github地址

猜你喜欢

转载自blog.csdn.net/xiaodongxiexie/article/details/79487798