안녕하세요. 인문계공돌이입니다.
오늘은 하이마트 사이트에서 건조기 데이터를 수집하기 위해 크롤링을 해보겠습니다.
크롤링 코드 참조
크롤링을 위해서 참고한 코드는
https://youngseokim.tistory.com 웹 크롤링을 이용해 제품 가격 수집하기입니다.
크롤링
먼저 크롤링이 허용되는지 보았습니다.
홈페이지 링크 뒤에 /robots.txt를 붙여 확인해보았고
Allow라고 써져 있어서 진행했습니다.
웬만하면 Disallow는 크롤링하지 않습니다.
크롤링을 해야겠다는 생각은 SPSS로 각 기업의 건조기 가격 차이가 있는지 검정하고 싶었기 때문입니다.
공공데이터는 제공하는 곳이 없었기 때문에 크롤링을 하게 되었습니다.
전체카테고리에서 TV/냉장고/세탁기/건조기 > 의류건조기를 클릭했습니다.
제가 필요로 하는 정보는 위니아딤채 건조기 DWR 제품명과 530,000원의 가격입니다.
지금부터 제품명, 가격을 수집한 후 csv로 저장해보겠습니다.
필요한 라이브러리를 먼저 import 해주었습니다.
먼저 데이터를 저장할 리스트를 만들었습니다.
한 페이지에 나올 수 있는 제품 수가 정해져 있으므로 페이지를 정해줘야 합니다.
총 4 페이지까지의 제품 정보를 수집하겠습니다.
pageCount를 하나씩 바꿔주면서 수집했습니다.
다음에는 반복문으로 처리해보는 연습을 해보겠습니다.
위의 사진에서 보면 <p class="prdName">에 제품명이 들어있습니다.
이런 식으로 태그를 찾아 저장할 이름을 봤습니다.
가격 또한 마찬가지입니다.
원하는 정보만 추출했으면 아까 생성했던 빈 리스트에 넣어주었습니다.
해당 코드를 실행한 결과입니다.
아까 prd_name, original_price에 각각의 정보를 추가했었는데
이를 활용하여 데이터프레임을 완성했습니다.
결론
태그만 잘 찾는다면 하이마트 말고도 다른 사이트에서도 충분히 원하는 정보 크롤링이 가능합니다.
하지만 크롤링을 맘대로 해서는 안됩니다.
robots.txt를 확인하여 Allow인지 확인하고 진행하시길 바랍니다.
Disallow라도 크롤링이 가능하지만 문제가 생길 여지가 있습니다.
대표적인 가격 비교 사이트 다나와의 경우 크롤링이 가능하지만 Disallow라서 하지 않았습니다.
다음번에는 이 데이터를 가지고 SPSS 분석을 해보겠습니다.
'Python' 카테고리의 다른 글
[크롤링] G마켓 농심 라면 데이터 수집 Python (0) | 2021.07.22 |
---|---|
[EDA, 시각화] G마켓 생수 데이터 Python (0) | 2021.07.21 |
[데이터 가공, 정규표현식] G마켓 생수 데이터 가공하기 Python (0) | 2021.07.19 |
[크롤링] G마켓 생수 데이터 수집 Python (0) | 2021.07.18 |
[로또] 처음 뽑은 6개의 번호를 제외한다면? (0) | 2021.07.17 |
댓글