爬虫文本数据清洗

网页文本快速清理


def filter_chars(text):
    """过滤无用字符
    :param text: 文本
    """
    # 找出文本中所有非中,英和数字的字符
    add_chars = set(re.findall(r'[^\u4e00-\u9fa5a-zA-Z0-9]', text))
    extra_chars = set(r"""!!¥$%*()()-——【】::“”";;'‘’,。?,.?、""")
    add_chars = add_chars.difference(extra_chars)
# tab 是/t
    # 替换特殊字符组合
    text = re.sub('{IMG:.?.?.?}', '', text)
    text = re.sub(r'<!--IMG_\d+-->', '', text)
    text = re.sub('(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]', '', text)  # 过滤网址
    text = re.sub('<a[^>]*>', '', text).replace("</a>", "")  # 过滤a标签
    text = text.replace("</P>", "")
    text = text.replace("nbsp;", "")
    text = re.sub('<P[^>]*>', '', text, flags=re.IGNORECASE).replace("</p>", "")  # 过滤P标签
    text = re.sub('<strong[^>]*>', ',', text).replace("</strong>", "")  # 过滤strong标签
    text = re.sub('<br>', ',', text)  # 过滤br标签
    text = re.sub('www.[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]', '', text).replace("()", "")  # 过滤www开头的网址
    text = re.sub(r'\s', '', text)  # 过滤不可见字符
    text = re.sub('Ⅴ', 'V', text)

    # 清洗
    for c in add_chars:
        text = text.replace(c, '')
    return text
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在进行爬虫数据清洗时,你可以使用Python中的各种库和技术处理和清洗数据。下面是一些常见的方法和库: 1. 正则表达式:使用re模块来匹配和替换文本中的特定模式。正则表达式可以用于从HTML标签中提取文本、去除多余的空格、清除特殊字符等。 2. BeautifulSoup库:BeautifulSoup是一个优秀的HTML/XML解析库,它可以帮助你方便地从网页中提取结构化数据,去除HTML标签或其他不需要的内容。 3. 字符串处理:使用Python内置的字符串处理方法,例如split、strip、replace等,可以对文本进行切分、去除空格、替换等操作。 4. 数据库操作:如果你需要将爬取到的数据存储到数据库中,可以使用Python中的数据库操作库(如MySQLdb、psycopg2等)来连接数据库、创建表格、插入数据等操作。 5. Pandas库:Pandas是一个强大的数据处理和分析库,它提供了各种功能来操作和清洗结构化数据。你可以使用Pandas来加载爬取到的数据,并进行数据过滤、重命名列、填充缺失值等操作。 6. 数据类型转换:根据需要,你可能需要将字符串转换为数字、日期等其他数据类型。Python提供了相应的函数和方法来实现这些转换。 7. 数据去重:在爬虫过程中,可能会遇到重复的数据。你可以使用Python中的集合(如set)来去除重复项,或者使用Pandas库中的drop_duplicates()方法来去除DataFrame中的重复行。 这些是一些常见的爬虫数据清洗方法和库,具体要根据你的需求和数据特点来选择合适的方法。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪里摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值