python html 标签剔除


例如


 【11月25日 AFP】バラク・オバマ(<a href=\"http://www.afpbb.com/search?fulltext=Barack%20Obama&category%5B%5D=AFPBB>%E8%A8%98%E4%BA%8B&category%5B%5D=%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%82%AB%E3%83%83%E3%83%97&category%5B%5D=%E4%BA%94%E8%BC%AA\">Barack Obama</a>)米大統領は24日

期待抽取结果是: AFP】バラク・オバマ(Barack Obama)米大統領は24日


 _EXTRA_HTML_TAGS_RE = re.compile(r'<(\/)?(a|b).*?>', re.IGNORECASE)
text = = _EXTRA_HTML_TAGS_RE.sub('', text)

实际结果为: AFP】バラク・オバマ(%E8%A8%98%E4%BA%8B&category%5B%5D=%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%82%AB%E3%83%83%E3%83%97&category%5B%5D=%E4%BA%94%E8%BC%AA">Barack Obama)米大統

链接里的>影响了正则匹配,如何写这个正则才能达到预期输出结果,同时,又满足之前的功能

正则表达式 python HTML

天心阁撸炮大赏 11 years, 11 months ago

 preg = re.compile(r'<(.+?) .*>(.+?)<\/\1>', re.IGNORECASE)
preg.sub(r'\2', text)

clipboard.png

不过推荐还是用专门的HTML解析工具去做这件事,随便搜到一个就顺手推荐一下叻: http://old.zope.org/Members/chrisw/StripOGram/readme/

小野寺小咲 answered 11 years, 11 months ago

Your Answer