[Crawling] RIDISELECT

리디셀렉트 보유 도서 리스트 만들기

리디셀렉트를 구독 신청을 하기 전에는 도서 검색이 안 된다. 아래 사이트에서 페이지를 하나하나 넘겨가면서 무슨 책들이 있는지 볼 수밖에 없다.
https://select.ridibooks.com/books
도서 리스트가 있으면 검색하기와 읽고 싶은 책 고르기가 편할 것 같아서 셀레늄으로 책 제목들을 긁어와 도서 리스트를 만들어 봤다.

from selenium import webdriver
import numpy as np
import time
# 브라우저 열기
driver = webdriver.Chrome()

책 목록이 109페이지까지 있는 건 끝으로 가기 버튼을 눌러 확인했다.

book_list = []
for i in range(1, 109):
url = "https://select.ridibooks.com/books?page={}".format(i)
driver.get(url)
time.sleep(2)
book = driver.find_element_by_css_selector(".GridBookList").text.split("\n")
book_list.append(book)

# 브라우저 닫기
driver.quit()

페이지별로 제목을 긁어오기 때문에 리스트 속의 리스트 형태로 저장되는데 이를 하나의 리스트로 변환해 준다.

ls = sum(book_list, [])

리스트가 완성됐으니 csv 파일로 리스트를 만든다. 판다스 데이터프레임으로 만든 뒤 csv 파일로 내보냈다.

import pandas as pd
df = pd.DataFrame({"title": ls})
df.to_csv("ridiselect.csv", mode='w')

csv 파일을 열어서 보고 싶은 책이 있는지 쉽게 검색할 수 있다. 구독한 후에는 보고싶은 책을 미리 체크해두면 좋다.

© 2019 THE DATASCIENTIST All Rights Reserved.
Theme by hiero