본문 바로가기
프로그래밍/Python

Python(파이썬)크롤링 한 파일에 불필요한 문자 제거(Web Cralwer) -3

by LiveData 2018. 12. 1.
반응형

3. 전 시간


Python(파이썬) 특정 단어포함하는 신문기사 웹 크롤러 만들기(Web Cralwer) -1


Python(파이썬) 특정 단어포함하는 신문기사 웹 크롤러 만들기(Web Cralwer) -2


 



여기 까지 출력 되는 것을 해보았습니다


하지만 특수문자 (\n, ], [,) 등등 쓸데없는 문자가 많습니다.


이런 쓸데없는 문자를 제거해보도록 하겠습니다.






1
2
3
4
5
import re
 
# 입,출력 파일명
INPUT_FILE_NAME = 'out.txt'
OUTPUT_FILE_NAME = 'out_clean.txt'
cs



import re는 정규식 표현을 활용하기 위해 're' 라는 라이브러리를 임포트하였습니다.





clean_text 함수


1
2
3
4
5
6
def clean_text(text):
    cleaned_text = re.sub('[a-zA-Z]' , '', text)
    cleaned_text = re.sub('[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]',
                          '', cleaned_text)
 
return cleaned_text
cs


  re.sub('바꿀 정규식표현', '바꾸게될 단어', 바꿀 문자열)


우리는 저 특수문자나 영어를 모두 제거하기위해서 바꾸게될 단어를 '' => 없음으로 만듭니다.


모두 제거가 됬으면 모든 문자열을 return합니다.




메인 함수


1
2
3
4
5
6
7
8
9
10
11
12
# 메인 함수
def main():
    read_file = open(INPUT_FILE_NAME, 'r')
    write_file = open(OUTPUT_FILE_NAME, 'w')
    text = read_file.read()
    text = clean_text(text)
    write_file.write(text)
    read_file.close()
    write_file.close() 
 
if __name__ == "__main__":
    main()
cs






결   과






전 보다 훨씬 깨끗해 졌네요 

 


전체 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import re
 
# 입,출력 파일명
INPUT_FILE_NAME = 'out.txt'
OUTPUT_FILE_NAME = 'out_clean.txt'
 
def clean_text(text):
    cleaned_text = re.sub('[a-zA-Z]' , '', text)
    cleaned_text = re.sub('[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]','', cleaned_text)
    return cleaned_text
 
# 메인 함수
def main():
    read_file = open(INPUT_FILE_NAME, 'r')
    write_file = open(OUTPUT_FILE_NAME, 'w')
    text = read_file.read()
    text = clean_text(text)
    write_file.write(text)
    read_file.close()
    write_file.close() 
 
if __name__ == "__main__":
    main()
 
cs


반응형