학교 프로젝트에서 쇼핑몰 상품을 크롤링해야할 일이 있어서 BeautifulSoup를 이용하여 쿠팡을 크롤링 해보았다! 아직 크롤링 도구를 정하지 못했다면 python + BeautifulSoup 추천한다! 크롤링 처음해봤는데, 간단하고 좋았다 www.coupang.com/np/categories/465075 크롤링 해볼 쿠팡링크이다, 물티슈 카테고리의 1페이지를 크롤링해보자 (상업적 이용은 문제가 될 수 있습니다!🙅♀️) 페이지 분석 먼저 쿠팡페이지 구성을 하나씩 살펴보자 페이지에 접속해서 F12를 눌러서 개발자모드를 켠 뒤 위 아이콘을 눌러주면 페이지를 클릭했을 때 그 부분애 대한 html코드가 보여지고 코드에 마우스를 갖다대면 페이지에서 해당 부분이 표시된다. 매우 편함 먼저, 상품리스트 부분을 추출해볼것이다. ul태그에 id:productList인 부분이 상품 리스트 이다. ul태그 아래에 li태그, class : baby-product renew-badge인 것이 상품 하나를 담고 있다 아이템은 여러개이므로, id가 아니라 class로 걸러내어야한다! 이와 같은 방식으로 li안에서 이미지, 링크, 상품이름, 가격을 추출해보자 소스 코드 먼저, 이 웹페이지를 불러와야한다. 다른 파일에서도 사용할 수 있도록 libs에 url에 get요청 보내는 함수를 생성해두었다. libs/coupang/stringgetter.py
headers는 원래는 필수값이 아니다. 하지만 쿠팡의 경우 headers 없이 크롤링 했을 땐 결과가 하나도 안나온다. 그래서 headers를 위와 같이 설정해주면 된다! coupang/callUrl.py
위에서 만든 코드를 테스트해보는 코드이다. getPageString함수를 불러오고 url을 설정하여 호출해주면 된다. 이렇게 html이 통째로 불러와진 것을 볼 수 있다. 아주 읽기 힘들다.... 이제 여기서 우리가 원하는 것을 추출하면 된다! 원하는 부분의 위치만 잘 찾아내면 아주 간단하다. coupang/getProducts.py
모든 값이 들어갔다 혹시 특정 값들이 None이라면 값이 없는것이니 태그와 클래스 이름, 포함관계 등을 다시 확인해보자 주요 코드 정리
참고) github.com/Kyeongrok/python_crawler/tree/master/lecture/lecture_gn2/week5 |