Notice
Recent Posts
Recent Comments
250x250
Creative Code
Selenium으로 웹페이지 정보 받아오기 본문
728x90
※cmd 에서 pip install selenium 명령어로 selenium 먼저 설치하기
# BeautifulSoup 및 requests 라이브러리 가져오기
from bs4 import BeautifulSoup
import requests
# 스타벅스 매장 위치 검색 페이지 URL 설정
url = 'https://www.starbucks.co.kr/store/store_map.do?disp=quick'
# requests를 사용하여 웹 페이지 내용을 가져와서 텍스트로 저장
res = requests.get(url).text
# BeautifulSoup으로 웹 페이지 파싱
soup = BeautifulSoup(res, 'html.parser')
# 특정 CSS 선택자를 사용하여 웹 페이지에서 요소 선택 및 출력
print(soup.select('.quickSearchResultBox strong'))
# Selenium 라이브러리 가져오기
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
# Chrome WebDriver를 사용하여 브라우저 열기
driver = webdriver.Chrome()
driver.get(url)
# 페이지가 로딩될 때까지 잠시 대기
time.sleep(5)
# Selenium을 사용하여 현재 페이지의 HTML 소스 가져오기
page = driver.page_source
# BeautifulSoup으로 Selenium으로 가져온 페이지 파싱
soup = BeautifulSoup(page, 'html.parser')
# 특정 CSS 선택자를 사용하여 웹 페이지에서 요소 선택 및 출력
print(soup.select('.quickSearchResultBox strong')[0].string)
print(soup.select_one('li.quickResultLstCon p').text)
# CSS 선택자를 사용하여 특정 링크(지역 검색)를 클릭
loca = driver.find_element(By.CSS_SELECTOR, '.loca_search a')
print(type(loca))
print(loca)
loca.click()
# 페이지가 로딩될 때까지 잠시 대기
time.sleep(5)
# CSS 선택자를 사용하여 시/도 목록 요소 선택
sido = driver.find_elements(By.CSS_SELECTOR, '.sido_arae_box li')
# 시/도 목록 출력
for index, item in enumerate(sido):
print(index, ':', item.text, end=' ')
# 특정 시/도를 클릭
sido[16].click()
# 페이지가 로딩될 때까지 잠시 대기
time.sleep(5)
# BeautifulSoup으로 Selenium으로 가져온 페이지 다시 파싱
page = driver.page_source
soup = BeautifulSoup(page, 'html.parser')
# 특정 CSS 선택자를 사용하여 웹 페이지에서 요소 선택 및 출력
print(soup.select('.quickSearchResultBox strong')[0].string)
print(soup.select('li.quickResultLstCon p')[0].text)
# 브라우저 종료
driver.quit()
728x90
'코딩 study > python' 카테고리의 다른 글
geocoder, kakao API를 활용한 지리정보 검색,gpt기능 (0) | 2023.10.28 |
---|---|
pandas (0) | 2023.10.26 |
html파싱 예제(네이버 환율정보 불러오기) (0) | 2023.10.26 |
BeautifulSoup으로 html파싱 (0) | 2023.10.26 |
검색어 입력,페이지 정보 받아오기 (0) | 2023.10.26 |