我从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()
但所有这些都是失败的。第二种方法删除了诸如“& amp”之类的html实体,但标签内的文本被保留,例如“pbrspan”。第三个完全破坏了一切,根本没有显示数据,而是
<绑定方法HtmlElement.text_content of<元素html在0x33717d8> >
最后,我怀疑,我写的正则表达式是完全错误的。 任何想法,如何处理?
答案 0 :(得分:1)
试试这个正则表达式
(\&安培; LT \;)*(\&安培; GT \)。?
答案 1 :(得分:0)
考虑使用BeautifulSoup删除标记,记录良好,http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#Removing%20elements