본문 바로가기

Code Snippets/Python

(3)
파이썬 - 오늘이 개장일일 때만 실행 금융/증권 관련 크롤링을 할 때는 오늘이 개장일인지 아닌지 판단해서, 개장일인 경우에만 함수를 실행해야 하는 경우가 있다. exchange_calendars 라는 라이브러리를 이용하면 아래와 같이 간단하게 코드를 작성할 수 있다. import exchange_calendars as ecals from datetime import datetime, timedelta def main(): XKRX = ecals.get_calendar("XKRX") # 한국 코드 if not (XKRX.is_session(datetime.now().strftime("%Y-%m-%d"))): return # 오늘 장이 아니면 종료하기 run_myjob() if __name__ == "__main__": main()
[파이썬] Code Refactoring 팁 : 예외 case를 앞에서 제시 파이썬에서 IF 문은 정말 자주 등장한다. IF 문 안에 If 문이 들어와서, 아래와 같이 들여쓰기 (indentation) 이 여러번 있는 경우도 많다. 아래는 if가 두번이나 있는 경우다. def myjob(): if (myfield == 'grid-insta'): i.click() time.sleep(3) print(len(driver.window_handles)) if len(driver.window_handles) != 1: driver.switch_to.window(driver.window_handles[-1]) time.sleep(4) IF 문이 많아서 들여쓰기가 많으면 내가 집중해야 하는 들여쓰기 단계가 어디인지 놓치기 쉽다. 그래서 이런 IF문에서 들여쓰기를 최소화할 수 있는 방법이 있는..
[파이썬 크롤링] 크롤링 코드 작성 시간을 두배로 단축시키는 2가지 팁 크롤링 할 때 가장 많은 시간이 소요되는 부분은 크롬 탭을 통해 url, xml http request를 분석하는 것이다. 크롬 탭을 열어서, 화면 새로고침을 하면서 현재 클라이언트가 어떻게 서버로 요청을 보내고 있는지 살펴보고, header 및 data 정보를 가져와서 코드를 작성하는 것이 꽤나 번거롭다. 아래 3가지 팁으로 이 과정을 매우 효율적으로 수행할 수 있다. 1) F5가 아니라 Reply XHR 활용 빠르게 F12로 개발자 도구에 들어가서, 크롤링하고자 하는 XHR를 확인하기 위해 F5(새로고침)을 연타할 필요가 더이상 없다. 이미 로딩이 되어 있는 XHR이 있으면, Reply XHR를 활용하기 2) CURL to Python requests Converter 이용하기 크롤링하고 하는 XHR..