我从 api.careerbuilder.com 获取 xml 数据 特别是,该字符串包含一些我愿意删除的 html 实体,但没有效果!
我尝试过这样做:
import re
re.sub('\<.*?\>', '', job_title_text)
还有这个
from html.parser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
strip_tags(job_title_text)
最后是这个
import lxml.html
(lxml.html.fromstring(job_title_text)).text_content()
但所有这些都失败了。第二种方法删除了“&”等 html 实体,但保留了标签内的文本,例如“pbrspan”。第三个完全毁了一切,根本没有显示任何数据,而是
< bound method HtmlElement.text_content of < Element html at 0x33717d8> >
最后,我怀疑我编写的正则表达式完全错误。 有什么想法,如何处理?
最佳答案
尝试这个正则表达式
(\<).*?(\>)
关于python - 从Python中的字符串中删除html标签和实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20766217/