이번 포스팅에서는 웹페이지에 JSON 형태로 반환되는 데이터를 크롤링 해보도록 하겠습니다.
예제 페이지로 네이버 금융 해외증시를 살펴보겠습니다.
해외증시에서 S&P 500을 클릭합니다.
일별 시세에서 마우스 오른쪽 클릭해서 '검사'를 누르거나 Ctrl + Shift + C를 눌러 검사 창을 띄웁니다.
일별 시세에서 다른 페이지를 눌러 보겠습니다. 그런데 페이지를 바꿔도 URL 주소가 변경되지 않습니다.
왜 그런지 살펴보기 위해 검사 창에 Network 탭에 들어가 봅니다.
페이지를 누를 때마다 새로운 URL주소가 생깁니다.
다음과 같이 주소를 선택한 후 마우스 오른쪽 클릭해서 Copy -> Copy link address를 클릭합니다.
finance.naver.com/world/worldDayListJson.nhn?symbol=SPI@SPX&fdtc=0&page=2
복사한 URL을 살펴보니 worldDayListJson을 호출하고 있습니다.
이 주소를 브라우저 창에 넣고 접속 해보도록 하겠습니다.
다음과 같이 JSON 형태의 데이터로 반환하고 있음을 알 수 있습니다.
파이썬에서 json 데이터를 크롤링 하는 코드를 작성해보겠습니다.
import pandas as pd
from urllib.request import urlopen
import json
symbol = 'SPI@SPX'
page = 1
url = 'https://finance.naver.com/world/worldDayListJson.nhn?symbol=' + symbol + '&fdtc=0&page=' + str(page)
httpResponse = urlopen(url)
jsondata = json.load(httpResponse)
jsondata
위 코드를 실행하면 json 형태로 데이터를 반환합니다.
'Programming > Python' 카테고리의 다른 글
[Pandas] 데이터프레임(DataFrame) DB(SQLite)에 저장(Insert) (0) | 2020.12.11 |
---|---|
[Python] 분봉 데이터프레임(DataFrame)에 담기 (0) | 2020.12.06 |
[Python] HTML 페이지 크롤링 할 때 원하는 데이터 위치 찾기 (0) | 2020.12.05 |
[numpy] No module named 'numpy.core._multiarray_umath' (0) | 2020.11.30 |
[PyCharm] (는) 올바른 Win32 응용 프로그램이 아닙니다. (0) | 2020.11.30 |