20221013
7일 차
첫 번째 실습은 교보문고 순회 크롤링이다.
먼저 순회 크롤러 정의이다.
순회 크롤러란
같은 양식의 페이지 범위를 쓱 훑는 것이다.
기본 로직은 이러하다
한 페이지의 크롤러를 제작 후그걸 반복문에 넣으면 된다.
간단해 보이지만 간단하지 않다.
우선 가장 기본인
필수 라이브러리를 임포트 해준다.
우리의 목표는 교보문고 베스트셀러의 모든 도서 (약 1000개)의
이름, 저자, 가격을 다 수집해 와서 하나의 자료로 만드는 것이다.
총 45페이지에 1000개의 도서 정보가 실제 했으며
45번의 반복을 반복문을 통해 걸어준다.
그리고 페이지 소스를 저장하고
파싱 했다.
한 페이지에서
원하는 데이터를 추출하기 위해
태그와 클래스별로 데이터를 수집한다.
그리고 각각의 만들어둔 리스트에 텍스트로 변환하여 저장했다.
그리고 다음 페이지 버튼을 클릭
꼭 드라이버 종료를 넣어주자!
현재 45번이 반복되는 반복문에서
한페이에서 해야 할 일을 위와 같이 코딩해주고
45번 돌리면 자연스럽게 다음 페이지로 넘어가며 원하는 정보를 알맞게 저장하고
드라이버가 종료된다.
* 핵심은 반복문의 올바른 사용과 데이터 타입 인지
그에 따른 자료 변환 등등이 있다.
대표로 타이틀 리스트 생성 시 코드를 보면
span_title_list= parsed_source.find_all("span", class_="prod_name")
for title in span_title_list:
title_list.append(title.text.replace(",", "ͺ"))
우선 페이지마다 파싱 된 페이지 소스에서
태그와 클래스로 제목과 연관된 자료를 뽑아온다.
그리고 바로 또 반복문으로
원하는 리스트에 텍스트화 해서 저장했다.
타이틀 리스트가 이렇게 생성되었다.
* 정수기의 필터처럼 차근차근
각각의 필터링의 기준을 잘 잡아서
넣어주면 자동 필터링이 된다.
회사에서 내가 수집한 자료를 엑셀로 좀 줘~ 다른 파일로 줘~
할 수도 있다.
codecs를 이용해 텍스트 문서를 엑셀 문서로도 만들어 줄 수 있다.
메모장에 순위, 제목, 저자, 가격을 맨 위에 쓰면
엑셀로 변환 시 자료의 기준이 되는 행이 된다.
'Hello Crawling' 카테고리의 다른 글
크롤링(crawling)_browserless 크롤링 (0) | 2022.10.17 |
---|---|
크롤링(crawling)_알라딘 크롤링 (0) | 2022.10.14 |
크롤링(crawling)_크롤링 기초 (0) | 2022.10.13 |