본문 바로가기

BLOG/웹크롤링

[웹크롤링] 두번씩 크롤링 되는 텍스트, 중복 제거하는 방법 - set()

 

적절한 태그를 찾아 크롤링을 했는데도, 동일한 텍스트가 두 번씩 추출되는 경우가 있을 수 있는데요, 이러한 경우는 속성 태그에 있는 텍스트가 함께 출력되었을 수 있습니다. 따라서 다시 적절한 태그와 속성값을 이용해 텍스트를 크롤링하는 것이 좋은데요, 이 방법 말고도 set() 함수를 이용하여 쉽게 해결할 수 있습니다.

 

set() 함수는 리스트 안에서 중복된 데이터를 제거해주는 함수로, 만약 두 번씩 텍스트가 크롤링되어서 저장되었다면, set() 함수를 통해 중복된 데이터를 모두 제거할 수 있답니다. 

 

먼저, 다음과 같이 텍스트를 크롤링해서 얻은 리스트가 있다고 가정해보겠습니다.

 

list1 = ['사과', '사과', '딸기', '딸기', '바나나', '바나나', '수박', '수박', '포도', '포도']

 

위 리스트를 보면, 텍스트 모두 두번씩 중복된 것을 확인할 수 있는데요,

이제 set() 함수를 이용하여 중복된 데이터를 제거하도록 하겠습니다.

 

new_list1 = set(list1)

 

위와 같이 set(리스트) 을 적용한 뒤 새로운 new_list1 이라는 리스트에 저장하였습니다.

 

이제 new_list1을 출력해보면 중복된 데이터가 제거되었음을 확인할 수 있답니다.

 

list1= ['사과', '딸기', '바나나', '수박', '포도']

 

 

한편, set() 함수를 사용하면 순서가 뒤죽박죽 된다는 단점이 있는데요, 만약 순서를 유지하고 싶다면 for문을 이용한 제거 방법을 사용해야 한답니다.