본문 바로가기
Python

[크롤링] G마켓 생수 데이터 수집 Python

by 지식광부키우기 2021. 7. 18.

안녕하세요. 인문계공돌이입니다.

 

오늘은 G마켓 사이트에서 생수 데이터를 수집하기 위해 크롤링을 해보겠습니다. 

 

 

 

크롤링 허용 여부

 

 

홈페이지 링크 뒤에 /robots.txt를 붙여 확인한 결과

 

Allow 즉, 허용되었습니다.

 

 

 

크롤링

 

 

전체 카테고리에서 식품/생필품 > 커피/음료 > 생수/탄산수 > 생수로 이동하였습니다.

 

생수 브랜드는 제주삼다수, 스파클, 아이시스만 체크했고

 

무료배송 조건을 하나 더 달았습니다.

 

 

제품명이 있고 그 앞에 브랜드가 따로 표시되어 있습니다.

 

가격은 할인가 기준으로 했습니다.

 

 

필요한 라이브러리를 import 합니다.

 

 

selenium으로 크롤링을 하면 크롬창이 뜨게 되는데 굳이 그럴 필요가 없으므로 뜨지 않게 설정했습니다.

 

나중에 DataFrame으로 만들어줄 리스트를 세 개 형성하였습니다.

 

아까 위의 제품 사진에서 봤듯이 브랜드, 제품명, 할인가입니다.

 

 

10 Page 이상 있으므로 반복문을 써서 크롤링을 해주겠습니다.

 

 

간단하게 코드를 짰습니다.

 

 

2 페이지, 3 페이지 클릭해보면 주소에 p=(페이지번호)로 나타납니다.

 

저는 10 페이지까지 크롤링 할 것이기 때문에 range를 1부터 11 (이래야 11은 제외)로 설정했습니다.

 

첫 페이지가 url로 들어가고

 

 

제품명의 태그를 보면 span class='text__item'이라 select 해줬습니다.

 

 

가격은 strong class='text__value'입니다.

 

페이지 내의 원하는 태그들을 모두 select 했으면

 

반복문을 통해 text만 추출했습니다.

 

맨 처음 생성했던 리스트에 하나씩 추가했고

 

한 페이지가 끝나면 다시 반복문 처음으로 돌아가서 다음 페이지로 넘어가게끔 설정했습니다.

 

 

몇 페이지를 진행 중인지 print 문으로 확인했고

 

크롤링이 끝나면 '크롤링 완료'란 문구가 뜨게 했습니다.

 

 

각 리스트에 데이터가 잘 추가되었습니다.

 

 

마지막으로 DataFrame으로 만들면 완성입니다.

 

다음에는 SPSS로 각 통계 분석을 용이하게 하기 위해 정확한 용량을 계산해서 따로 변수로 만들고

 

가격 역시 쉼표를 없애 보겠습니다. 

댓글