플그래밍/파이써언

[파이썬] 코로나 라이브 확진자 데이타 추출하기 (selenium)

훗티v 2021. 6. 11. 22:38

코로나라이브 사이트의 확진자 정보를 셀레니움을 통해 추출

- 헤드레스 옵션 추가 (브라우저를 띄우지 않고 사용하는 법)

- 코로나라이브 웹사이트 (https://corona-live.com)

 

 

코드 (전체)

- 실행중인 python, chrome, chromedriver instance가 존재할 경우 종료

- 셀레니움 옵션을 추가하여 브라우저를 띄우지 않고 추출

- [# 클릭 모듈] 크롬드라이버로 크롬 실행 시 다크모드 선택 여부 클릭

 

 

결과

파이썬 실행 결과

 

코로나라이브(https://corona-live.com) 캡쳐 화면

 

 

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import os

# 이전 작업 종료
os.system("taskkill /im python.exe")
os.system("taskkill /im chrome.exe")
os.system("taskkill /im chromedriver.exe")

# 셀레니움 옵션
option = Options()
option.add_argument('--headless') # 헤드레스
option.add_argument('--window-size=1890,1030') # 창 크기
driver = webdriver.Chrome(r'c:\chromedriver', options=option) # 크롬드라이버 위치
driver.implicitly_wait(5) # 다음 시간동안 로딩 대기, 로딩 완료 시 즉시 다음 단계로 진행

# 코로나 라이브 웹사이트 URL
driver.get(url='https://corona-live.com')

# 클릭 모듈
click_first = driver.find_element_by_xpath('//*[@id="root-portal"]/div[2]/button') # 클릭 위치
driver.execute_script("arguments[0].click();", click_first) # 클릭 실행

# 확진자 수 추출
confirmed = driver.find_elements_by_xpath(
    '//*[@id="__next"]/div[2]/div[2]/div[4]/div[1]/div/div[1]/div[2]/div[2]/div[1]')

# 결과 출력
for elem in confirmed:
    print(elem.text.replace('\n',''))

 

 

 

 

 

 

728x90