【Python】正则表达式过滤文本中的html标签、url超链接、img链接

测试文本:

"给大家看看原始文本。。。 ----------------------------<a class="member" href="https://www.aaa.com/people/0970f947b898ecc0ec035f9126dd4e08" data-hash="0970f947b898ecc0ec035f9126dd4e08" data-hovercard="p$b$0970f947b898ecc0ec035f9126dd4e08">@vczh</a> 轮子哥求扩散。</p><figure><noscript><img src="https://pic1.aaa.com/ width="1080" data-original="https://pic1.aaa.com/v2-40f4c4f1bdd70db1c7a34046440e3e64_r.jpg"></noscript>---------------”
 

代码:

# coding: utf-8
import re, os

def filter_file(path, filename):

    def filter_text(text):
        re_tag = re.compile('</?\w+[^>]*>')  # HTML标签
        new_text = re.sub(re_tag, '', text)
        new_text = re.sub(",+", ",", new_text)   # 合并逗号
        new_text = re.sub(" +", " ", new_text)   # 合并空格
        new_text = re.sub("[...|…|。。。]+", "...", new_text)  # 合并句号
        new_text = re.sub("-+", "--", new_text)  # 合并-
        new_text = re.sub("———+", "———", new_text)  # 合并-
        return new_text

    print("Start!")
    filw_path = os.path.join(path, filename)
    with open(filw_path, "r+", encoding="utf-8") as fr:
        data = fr.readlines()
        print(len(data))
    with open(filw_path + ".filter", "w+", encoding="utf-8") as fw:
        for line in data:
            new_line = filter_text(line)
            fw.write(new_line)
    print("Done!")

 

 

发布了392 篇原创文章 · 获赞 492 · 访问量 241万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览