在Python中使用纯文本清理 Web 抓取数据
如果你喜欢玩 API 或者喜欢从各种网站上抓取数据,那么你一定遇到过随数据而来的随机烦人的文本、数字、关键字。有时清理抓取的数据以获取我们想要的实际数据可能非常复杂和令人沮丧。
在本文中,我们将探索一个名为 clean-text 的Python库,它可以帮助您在几秒钟内清理抓取的数据,而无需编写任何花哨的长代码。让我们开始
安装
使用以下命令
pip install clean-text
注意: CleanText 包需要Python 3.7 或更高版本。
句法
cleantext.clean_words( text , {operations})
- text: string
- operations: mentions below
不同的 cleantext 操作:
clean-text函数提供了一系列参数,这些参数指定如何清理给定的原始文本输入并以字符串的形式返回清理后的文本。以下是可用于清理所需数据的参数列表。
- fix_unicode:修复 Unicode 错误,取值为 True 或 False
- to_ascii:转换为 ASCII 表示,取值为 True 或 False
- lower:将输入转换为小写,取值为 True 或 False
- no_line_breaks:删除所有换行符
- no_urls:用特殊标记替换所有 URL
- no_emails:用特殊令牌替换所有电子邮件地址
- no_phone_numbers:用特殊令牌替换所有电话号码
- no_numbers:用特殊标记替换所有数字
- no_digits:用特殊标记替换所有数字
- no_currency_symbols:用特殊代币替换所有货币符号
- no_punct :删除所有标点符号
- replace_with_punct="" :用给定的输入替换所有标点符号
- replace_with_url=”
” : 用给定的输入替换数据 URL - replace_with_email=”
” : 用给定的输入替换数据电子邮件 - replace_with_phone_number=”
” : 用给定的输入替换电话号码 - replace_with_number=”
” : 用给定的输入替换数字 - replace_with_digit=”0” :用给定的输入替换数字
- replace_with_currency_symbol=”
” : 用给定的输入替换数据电子邮件 - lang= “en”(仅支持英语和德语)
代码实现:
Python3
# import library
from cleantext import clean
# input string
text = """
A bunch of \\u2018new\\u2019 references,
including [Moana]. »Yóù àré rïght <3!«
"""
print(clean(text=text,
fix_unicode=True,
to_ascii=True,
lower=True,
no_line_breaks=False,
no_urls=False,
no_emails=False,
no_phone_numbers=False,
no_numbers=False,
no_digits=False,
no_currency_symbols=False,
no_punct=False,
replace_with_punct="",
replace_with_url="This is a URL",
replace_with_email="Email",
replace_with_phone_number="",
replace_with_number="123",
replace_with_digit="0",
replace_with_currency_symbol="$",
lang="en"
))
输出: