오늘의 노래 추천
DAY2
ㅡ 한솥도시락 페이지 전체 메뉴 및 가격 크롤링 실습 ㅡ
BeautifulSoup, selenium 라이브러리 사용
# 라이브러리 불러오기
from selenium import webdriver as wb
# 웹브라우저 제어를 위한 라이브러리
from selenium.webdriver.common.by import By
# html 문서에서 태그와 선택자의 위치를 찾기위한 라이브러리
from selenium.webdriver.common.keys import Keys
# 웹에게 값을 입력하기위한 라이브러리
from selenium.webdriver.chrome.service import Service
# 사용자가 사용하는 최신버전의 크롬 드라이버와 일치하는 드라이버를 찾아주는 라이브러리
from webdriver_manager.chrome import ChromeDriverManager
# 최신버전의 크롬 드라이버를 찾고 다운해주는 라이브러리
from bs4 import BeautifulSoup as bs
라이브러리 불러오기
service = Service(ChromeDriverManager().install())
driver = wb.Chrome(service=service)
# 페이지 불러오기
driver.get('https://www.hsd.co.kr/menu/menu_list')
# bs객체화 : bs(parsing할 html 문서, parsing 방법)
soup = bs(driver.page_source, 'lxml')
menuList = []
menu = soup.select('h4.h.fz_03')
price = soup.select('span.blind+strong')
for i in range(len(menu)):
menuList.append({'menu' : menu[i].text, 'price' : price[i].text})
pd.DataFrame(menuList)

ㅡ 더보기 버튼 누르기 자동화 ㅡ
moreBtn = driver.find_element(By.CLASS_NAME, 'c_05')
moreBtn.click() # 클릭 메서드
try:
for i in range(10):
moreBtn = driver.find_element(By.CLASS_NAME, 'c_05')
moreBtn.click() # 클릭 메서드
except:
soup = bs(driver.page_source, 'lxml')
menuList = []
menu = soup.select('h4.h.fz_03')
price = soup.select('div.item-price>strong')
for i in range(len(menu)):
menuList.append({'menu' : menu[i].text, 'price' : price[i].text})
display(pd.DataFrame(menuList))
try:
service = Service(ChromeDriverManager().install())
driver = wb.Chrome(service=service)
# 페이지 불러오기
driver.get('https://www.hsd.co.kr/menu/menu_list')
for i in range(10):
moreBtn = driver.find_element(By.CLASS_NAME, 'c_05')
moreBtn.click() # 클릭 메서드
time.sleep(2)
except:
soup = bs(driver.page_source, 'lxml')
menuList = []
menu = soup.select('h4.h.fz_03')
price = soup.select('div.item-price>strong')
for i in range(len(menu)):
menuList.append({'menu' : menu[i].text, 'price' : price[i].text})
driver.close()
display(pd.DataFrame(menuList))
(수정중)

BYE
'크롤링' 카테고리의 다른 글
크롤링 DAY 1 ( crawling 기초, requests, BeautifulSoup, iframe, 페이지 변환 리뷰 데이터 크롤링, selenium ) (1) | 2024.09.24 |
---|