주간책톡(부산 도서관) 크롤링 -1 CSS 선택자

2023. 4. 24. 16:12프로젝트/주간책톡

※ 모든 크롤링은 개인공부용 으로 사용됩니다.

근처의 도서관이 잘 되어 있어서 자주 이용하고는 하는데, 이런 홍보 문자가 왔다.

책을 대출할 때는 좋지만, 가져다 놓으려면 여간 귀찮은게 아닌데 도서관에서 자체적으로 책을 선정해 요약본까지 준다.

게다가 오디오 북까지! 좋은 프로그램이라 생각한다. (부산도서관 주간책톡 신청 링크 https://busanlib.bookzip.co.kr/booktalk.asp)

 

주간책톡 자세한 안내

더보기
서비스에 대해서 시각화 설명이 괜찮은 것 같다. 나중에 참고해보자.

크롤링을 배워 세상의 모든것을 크롤링하고 싶은 기운이 넘치는 지금.

지금이 아니면 절대 하지 않을것 같다.

 

개략적으로 '내 카카오톡에 메세지가 오면 -> 링크 -> 웹페이지 크롤링  -> 개인 슬랙에 올리기' 대충 구성으로 할 생각이다.

카카오톡 과 - 파이썬의 연계는 차후에 할 모듈이고,

우선 주간책톡의 페이지에서 요약본을 크롤링 모듈부터 완성시킨다.

 

 

이런 형식의 사이트인데 내가 원하는 요약본은 href 링크를 타고 넘어가야 한다.

하지만 자식 태그 쪽에 class가 지정되지 않아 처음에 헤메었다.

 

어트리뷰트에러
잘못된 곳을 선택

끙끙 구글과 함께 앓다가 CSS_SELECTOR 를 공부하고 알게 접근할수 있게 되었다.

제목과, 요약 링크를 잘 가져왔다.

 

CSS 선택자에 대해서 가장 큰 도움을 얻은 곳

https://www.nextree.co.kr/p8468/

 

CSS: 선택자(Selector) 이해

웹 표준은 이제 더 이상 무시할 수 없는 키워드입니다. World Wide Web(WWW)의 의미대로 가능한 많은 사람이 웹을 이용하기 위해서는, 모든 브라우저에서 ‘똑같이 보이는 것’이 아니라 ‘각 브라우

www.nextree.co.kr

 

 

지금 까지의 코드.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

url = 'https://www.bookzip.kr/00.asp?b=456&c=38&d=' # 부산책톡 주소

# 크롬 드라이버 경로를 지정
chrome_driver_path = 'path/to/chromedriver'

# 크롬 브라우저 옵션 설정
# chrome_options = Options()
# chrome_options.add_argument('--headless')  # 브라우저 창이 열리지 않도록 설정

# 웹 드라이버 인스턴스 생성
driver = webdriver.Chrome()

# 웹 페이지 로드
driver.get(url)
time.sleep(5)

book_titles = driver.find_elements(By.CSS_SELECTOR, "h3:not([class]) > a")
for title in book_titles:
    print(title.text)
    
for summary in book_titles:
    href_value = summary.get_attribute('href')
    print(href_value)

 

 

728x90