Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中从字符串中删除html标记和实体_Python_Html - Fatal编程技术网

在python中从字符串中删除html标记和实体

在python中从字符串中删除html标记和实体,python,html,Python,Html,我正在从api.careerbuilder.com获取xml数据 特别是,字符串包含一些html实体,我愿意删除,没有任何效果 我尝试过这样做: import re re.sub('\<.*?\>', '', job_title_text) 还有这个 from html.parser import HTMLParser class MLStripper(HTMLParser): def __init__(self): self

我正在从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”。第三个完全毁了一切,没有显示任何数据

的内容

最后,我怀疑我写的正则表达式是完全错误的。
有什么想法,如何处理吗?

试试这个正则表达式


(\<\;).*(\>\)

考虑使用BeautifulSoup删除标记,这是一个很好的文档,

text\u content
是一个方法,而不是一个属性——这意味着您需要调用它(
text\u content()
),它才能产生任何有用的东西。@MaxNoel啊,对不起,您是对的,这是一个输入错误