Daum 의 금융 페이지 url : https://finance.daum.net
Daum 금융 페이지의 환율 데이터를 가져와보자.
이때, 해당 페이지는 정적 페이지라는 것을 확인할 수 있다.
# url
url = 'https://finance.daum.net/api/exchanges/summaries'
response.text
Python
복사
'{"code":403,"message":"Forbidden"}'
url 요청을 진행했을 때 얻은 값이 Forbidden 일 경우, 두가지를 고려해볼 수 있다.
•
header 설정
◦
일반적으로 브라우저(User Agent)가 WAS에 웹페이지를 요청할 때, User Agent 가 브라우저로 설정되어야 한다.
따라서 파이썬으로 요청을 할 경우, User Agent가 파이썬으로 인식이 돼버려 웹페이지가 막혀버리는 경우가 생긴다.
이럴 경우, 직접 수동으로 headers 파라미터에 user-agent key값을 개발자도구에 있는 값으로 지정해줘야 한다.
또한, 수동으로 headers 파라미터에 referer key 값도 설정해 어떤 브라우저에서 응답을 받을 것인지 결정해줘야 한다.
•
selenium 사용
Request Header 설정하기
headers = {
'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
'referer' : 'https://finance.daum.net/exchanges'
}
response = requests.get(url, headers=headers)
response
Python
복사
df = pd.DataFrame(response.json()['data'])
df.head()
Python
복사
symbolCode | date | currencyCode | currencyName | currencyUnit | country | region | name | recurrenceCount | basePrice | ... | changeRate | ttBuyingPrice | ttSellingPrice | cashBuyingPrice | cashSellingPrice | tcBuyingPrice | fcSellingPrice | exchangeCommission | usDollarRate | chartImageUrl | |
0 | FRX.KRWUSD | 2024-10-04 10:45:00 | USD | 달러 | 1 | 미국 | {'korName': '아메리카', 'engName': 'America'} | 미국 (USD/KRW) | 156 | 1334.20 | ... | -0.001347 | 1321.20 | 1347.20 | 1357.54 | 1310.86 | None | None | 6.70077 | 1.0000 | {'day': 'https://t1.daumcdn.net/media/finance/... |
1 | FRX.KRWJPY | 2024-10-04 10:45:00 | JPY | 엔 | 100 | 일본 | {'korName': '아시아', 'engName': 'Asia'} | 일본 (JPY100/KRW) | 156 | 909.82 | ... | 0.000330 | 900.91 | 918.73 | 925.74 | 893.90 | None | None | 2.31591 | 0.6819 | {'day': 'https://t1.daumcdn.net/media/finance/... |
2 | FRX.KRWCNY | 2024-10-04 10:45:00 | CNY | 위안 | 1 | 중국 | {'korName': '아시아', 'engName': 'Asia'} | 중국 (CNY/KRW) | 156 | 189.08 | ... | -0.002269 | 187.19 | 190.97 | 198.53 | 179.63 | None | None | 4.23955 | 0.1417 | {'day': 'https://t1.daumcdn.net/media/finance/... |
3 | FRX.KRWEUR | 2024-10-04 10:45:00 | EUR | 유로 | 1 | 유로 | {'korName': '유럽', 'engName': 'Europe'} | 유로 (EUR/KRW) | 156 | 1472.09 | ... | -0.001438 | 1457.37 | 1486.81 | 1501.38 | 1442.80 | None | None | 5.30400 | 1.1034 | {'day': 'https://t1.daumcdn.net/media/finance/... |
4 | FRX.KRWGBP | 2024-10-04 10:45:00 | GBP | 파운드 | 1 | 영국 | {'korName': '유럽', 'engName': 'Europe'} | 영국 (GBP/KRW) | 156 | 1751.47 | ... | -0.001385 | 1733.96 | 1768.98 | 1785.97 | 1716.97 | None | None | 7.06933 | 1.3127 | {'day': 'https://t1.daumcdn.net/media/finance/... |
5 rows × 22 columns