python爬虫怎么清洗

Python020

python爬虫怎么清洗,第1张

最近学习python网络数据获取,看到了关于数据的清洗,觉得很好用,现贴出代码,权当记录。

# 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()工厂函数把数据转为集合(因为集合是无序且不重复的)并赋值给变量,这样就去重了,详细的只有按实际情况来了