바닥코딩
JSON 본문
json?
json은 속성-값 또는 키-값 으로 이루어진 데이터 오브젝를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷입니다. 특히 비동기 브라우저/서버 통신(ajax) ,xml을 대체하는 주요 데이터 포맷인데 브라우저 내에서 동작하는 JS의 특성 때문에 동적인 데이터를 받아오기 어려운 상황에서 json을 통해 데이터를 받아올 수 있다
기본형태
json 파일은 키-값 의 패턴으로 표현됩니다.
{
"이름": "홍길동",
"나이": 25,
"성별": "여",
"주소": "서울특별시 양천구 목동",
"특기": ["농구", "도술"],
"가족관계": {"#": 2, "아버지": "홍판서", "어머니": "춘섬"},
"회사": "경기 수원시 팔달구 우만동"
}
웹페이지 에서 Json 가져오기
Json 과 같은 경우 많은 영역에서 사용되지만, 포스팅 내용에서 중점된 내영이 크롤링인만큼 JSON 데이터를 가져온느 방법을 알아보겠습니다. 웹페이지에서 특정 버튼을 누르거나 f5 새로고침등을 하였을때 웹페이지에 새로 로드되는 내용들이 있습니다 이것을 확인하기 위해서는 f12를 눌러 개발자 도구에 접근 한 후 network 텝으로 이동해 json을 받아올 수 있습니다.
아래 코드는 json을 통해 데이터를 출력하는 코드의 전문입니다
from bs4 import BeautifulSoup as bs
import urllib.request as req
import requests
import json
import re
from selenium import webdriver
data_json_url = "http://bigdata.kepco.co.kr/cmsajax.do"
json_string = requests.get(data_json_url).text
print(json_string)
baseurl = "http://bigdata.kepco.co.kr/cmsmain.do?scode=S01&pcode=000166"
driver = webdriver.PhantomJS()
soup = bs(driver.page_source, 'html5lib')
print(soup.findALL("div"))
#json_string = requests.get(data_json_url).text
#matched = re.search()
'파이썬 데이터 크롤링' 카테고리의 다른 글
csv 파일 데이터 셋 받아오기 및 시각화 (0) | 2020.01.04 |
---|---|
pandas를 이용한 데이터 시각화 (0) | 2020.01.03 |
selenium(셀레늄) (0) | 2020.01.03 |
Beautifulsoup를 통해 HTML 파싱하기 (0) | 2020.01.03 |
데이터 크롤링 (0) | 2020.01.03 |