# Python 数据清洗
#cleanInput() 功能:
#输入input,
#清除input中的'\n', 多余空格,文献标记[ ], 删除单个字符(除i/a 外),转化为utf-8编码格式以消除转义字符,
#输出2-grams列表 ngrams
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import string
def cleanInput(input):
input = re.sub('\n'," ",input)
input = re.sub('
[0−9]∗
',"",input)
input = re.sub(' +'," ",input)
input = bytes(input,'UTF-8')
input = input.decode("ascii", "ignore")
cleanInput = []
input = input.split(' ')
for item in input:
item = item.strip(string.punctuation) #删除标点符号
if len(item)>1 or (item.lower() == 'a' or item.lower()=='i'):
cleanInput.append(item)
return cleanInput
def ngrams(input,n):
input = cleanInput(input)
output = []
for i in range(len(input)-n+1):
output.append(input[i:i+n])
return output
这个得根据具体情况来看。我给你提个思路,把爬到的全部数据先用一个变量接收,然后用set()工厂函数把数据转为集合(因为集合是无序且不重复的)并赋值给变量,这样就去重了,详细的只有按实际情况来了