기타
뽐뿌게시판 컴퓨터 카테고리 제목 크롤링해서 자동으로 가져오기
jaehwi0823
2019. 11. 27. 20:23
블프 시즌을 맞아 컴퓨터를 사려고 뽐뿌를 계속 들어가는데, 직접 일일히 확인하기가 너무 귀찮아서 크롤링 프로그램을 간단하게 만들었다. 이왕 만든김에 포스팅 하려고 두 가지 버전으로 만들었다.
1. BeautifulSoup
스크래핑을 하려는 페이지가 간단할 때 쓰면 좋다. html 문서를 들고와서 그 문서를 분석해서 필요한 내용을 찾을 수 있다.
from bs4 import BeautifulSoup
import requests
# 바로 뽐뿌 컴퓨터 게시판으로 접속한다
r = requests.get('http://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu&category=4')
if r.status_code == 200:
# html을 들고와서
bs = BeautifulSoup(r.text, 'html.parser')
# 필요한 부분을 가져온다
titles = bs.find_all('font', class_ = 'list_title')
for title in titles:
print(title.string)
print('===========================================================================================')
# 여기는 해외 뽐뿌.. 내용은 동일
r = requests.get('http://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu4&category=3')
if r.status_code == 200:
bs = BeautifulSoup(r.text, 'html.parser')
titles = bs.find_all('font', class_ = 'list_title')
for title in titles[1:]:
print(title.string)
2. selenium
스크래핑 하려는 페이지가 복잡하더라도, 실제 human이 작업하는 것처럼 필요한 내용을 찾아낼 수 있다. 이를 위해 사용하려는 드라이버를 미리 받아야 한다.
from selenium import webdriver
# 구글드라이버는 미리 준비해야 한다
driver = webdriver.Chrome('./chromedriver')
try:
# 크롬으로 뽐뿌 게시판에 접속해서
driver.get('http://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu&category=4')
# 필요한 부분을 찾는다
table = driver.find_element_by_id('revolution_main_table')
boxes = driver.find_elements_by_xpath(".//*[@class='list_title']")
#출력하면 끝!
for box in boxes:
print(box.text)
except Exception as e:
print(e)
finally:
driver.close()