본문 바로가기

BLOG/웹크롤링

[웹크롤링] 크롤링해서 얻은 텍스트, 앞 뒤 공백 제거하려면? - strip

 

크롤링을 하면 주로 텍스트를 추출하게 되는데요, 이때 추출한 텍스트 앞, 뒤로 공백이 같이 추출될 수 있습니다.

이러한 경우 공백을 제거한 뒤 저장하는 것이 나중에 분석 및 처리를 위해서도 좋은데요, 어떻게 하면 앞, 뒤 공백을 제거할 수 있는지 살펴보도록 하겠습니다.

 

 

- strip() : 문자열 앞 뒤 공백 제거하기

먼저, 다음과 같이 뉴스 기사 제목을 크롤링해서 저장한 리스트가 있다고 가정해보겠습니다.

 

news = ['    KBS \'절반 억대연봉\' 사과에…나경원 "수신료인상 반대"   ',
        '   SK하이닉스 성과급 불만에 최태원 "작년 연봉 전부 반납" 선언',
        "     안철수-금태섭 채널 열렸다…野 '계단식 단일화론' 급물살(종합)"   ,
        '與, 법관탄핵안 161명 공동발의…4일 국회통과 유력(종합)           ',
        '        국민의힘 ‘승부수’…가덕신공항에 해저터널까지    ']

 

news 리스트를 보면 각 문자열 데이터 앞 또는 뒤에 빈 공백이 포함되어 있는 것을 볼 수 있는데요,

이러한 공백은 strip() 함수를 이용하여 앞 뒤 공백을 모두 한 번에 제거할 수 있습니다.

strip() 함수는 text라는 문자열이 있을 때, text.strip() 처럼 코드를 작성해서 사용할 수 있습니다.

 

따라서 리스트 안에 있는 문자열의 앞 뒤 공백을 제거하려면 아래와 같이 for문을 사용하여 제거할 수 있습니다.

 

news2 = []
for title in news :
    news2.append(title.strip())

 

위 코드를 보면 먼저, 공백이 제거된 문자열을 저장할 새로운 빈 리스트 new2를 만들어주었고,

for문에서 append() 함수를 이용하여 공백이 제거된 문자열을 저장하도록 하였습니다.

 

이제 위 코드를 실행하고 리스트 news2를 출력하면 다음과 같이 공백이 제거된 문자열 데이터를 확인할 수 있답니다.

 

print(news2)

 

['KBS \'절반 억대연봉\' 사과에…나경원 "수신료인상 반대"', 
'SK하이닉스 성과급 불만에 최태원 "작년 연봉 전부 반납" 선언', 
"안철수-금태섭 채널 열렸다…野 '계단식 단일화론' 급물살(종합)", 
'與, 법관탄핵안 161명 공동발의…4일 국회통과 유력(종합)', 
'국민의힘 ‘승부수’…가덕신공항에 해저터널까지']