본문 바로가기

Hello Crawling

크롤링(crawling)_교보문고 크롤링

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