주식이나 환율 등 정보를 크롤링 해서 가져올 때 필요한 것이 기준시간입니다.
Yahoo finance에서 환율 정보를 가져오려고 하는데 필요한 것이 시작 날짜와 끝나는 날짜인데요. 임의로 지정을 해도 되지만 그러면 자동화 하기 힘드니까 파이썬의 시간 함수를 이용해서 구현해 보겠습니다.
파이썬 날짜 코드
파이썬 날짜 함수는 datetime() 입니다. 아래와 같이 import 하구요.
from datetime import datetime
now = datetime.today()
위를 실행한 결과는 아래와 같습니다.
datetime.datetime(2023, 10, 29, 20, 58, 1, 75117)
결과가 순서대로 year, month, day, hour, minute, second, microsecond 입니다.
today()와 now()는 실행 결과가 동일합니다.
그럼 좀 더 세부적으로 실행해보겠습니다.
datetime.today().year
datetime.today().month
datetime.today().day
datetime.today().hour
datetime.today().minute
datetime.today().second
datetime.today().microsecond
year, month, day, hour, minute, second, microsecond 를 필요한 부분만 추출하려면 위와 같이 속성을 붙이면 됩니다.
2023
10
29
21
11
33
339689
각 개별로 출력되는 것을 확인할 수 있구요. 이제 좀 더 포맷에 맞게 출력하도록 해보겠습니다.
파이썬 포맷 날짜 코드
내가 원하는 포맷으로 형식을 맞추려면 strftime() 함수를 이용합니다.
datetime.today().strftime("%Y%m%d%H%M%S")
위 처럼 연속되게 형식을 맞추면 아래 같이 모든 수가 붙어서 출력이 됩니다.
'20231029211526'
혹은 저는 연도와 날짜 정도가 필요하니 조금 수정해서 써보겠습니다.
datetime.today().strftime("%Y-%m-%d")
이러면 제가 매일 환율을 기록할 수 있게 딱 맞는 표현으로 적어줍니다.
'2023-10-29'
파이썬 어제 날짜 코드
자 그럼 마지막으로 오늘 날짜 말고 어제 날짜를 한번 구해보겠습니다.
from datetime import datetime, timedelta
yesterday = datetime.today() - timedelta(1)
시간차를 두기 위해서 timedelta를 불러오고 하루를 빼도록 계산합니다.
datetime.datetime(2023, 10, 28, 21, 21, 19, 13963)
나 날짜가 29에서 28로 바뀐게 보이시죠? 이틀 전을 표현하려면 datetime(2)를 넣으면 됩니다.
그리고 어제 날짜로 원하는 포맷으로 다시 표현해줍니다.
start_date = yesterday.strftime("%Y-%m-%d")
end_date = datetime.today().strftime("%Y-%m-%d")
yahoo finance에서 환율을 저런식으로 넣어주면 시차가 발생해서 현재 기준 환율 하나만 뽑아줍니다.
다음 시간에는 실제로 환율을 불러오는 것을 해보겠습니다~
'Python Study' 카테고리의 다른 글
이미지 변환 PC 실행 프로그램 (3) | 2024.10.26 |
---|---|
티스토리 코드 블럭 스타일 폰트 크기 변경하는 방법 (feat.파이썬) (1) | 2023.10.31 |