카테고리 없음

데이터 추출 해버리기 1 (세계 경제 지표) - 작성중 초안

웅수몬 2023. 2. 13. 08:50

간단하게 세계 경제 지표를 제공해주는 사이트다.

나라 이름, Last, Previous만 긁어보도록 한다.

 

from selenium import webdriver
import time
import re

시작은 셀레니움이다. 웹 드라이버를 사용해 크롬을 실행시켜보자!

 

서버 사양에 따라 time 모듈을 통해 딜레이를 주는 것이 좋다.

값을 원하는 값으로 넘겨야 하기 때문에 레젝스 모듈도 import 해준다.

 

def get_terror_data(): # return : ['Ranking', 'Country', 'Last', 'Previous']
   
    # 옵션 생성
    options = webdriver.ChromeOptions()
    # 창 숨기는 옵션 추가
    options.add_argument("--headless")
    options.add_argument("--no-sandbox")
    
    # driver 실행
    driver = webdriver.Chrome("./chromedriver", options=options)
    # driver = webdriver.Chrome(options=options)

함수 생성.

 

크롬 드라이버를 사용할 때는 항상 ChromeOptions 인자를 넣어줘야 된다.

 

서버 리소스를 낭비할 필요가 없기 때문에 옵션에 --headless, --no-sandbos 를 추가하여 창을 숨겨준다.

GPU 에러가 나온다면 크롬 자체 문제이니 최신 버전으로 다시 받아주자.

나는 구지구지구지 구버전을 사용하고 싶다면 options.add_argument("--disable-gpu")를 사용하자. 비추천

 

크롬 버전에 맞는 웹 드라이버를 다운로드 받아주고 위치를 입력하고 인자를 넣어준다. 안넣으면 실행 안된다.

 

driver.implicitly_wait(3)
    driver.get('https://tradingeconomics.com/country-list/terrorism-index')
    time.sleep(1)

html = driver.page_source

3초안에 페이지가 로딩되면 넘어간다는 뜻이다.

time.sleep()값은 서버 사양에 따라 조절하면 된다.

페이지 소스를 변수에 넣는다. 원하는 값만 뽑아야 하니까!

 

 

 

작성중