반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- pytorch
- 크롤링
- 텍스트분석
- pandas
- 리눅스
- bayesian
- Graph
- GNN
- DATA
- 알고리즘
- uncertainty
- 불확실성
- PYTHON
- YarinGal
- Crawling
- 강화학습
- dropout
- 논문리뷰
- AI
- VAE
- 파이썬
- 텍스트마이닝
- 백준
- 데이터분석
- R
- selenium
- 코딩테스트
- 빅데이터
- 우분투
- 베이지안
Archives
- Today
- Total
끄적거림
[API]네이버데이터랩 api로 데이터 가져오기 in Python 본문
728x90
반응형
지난 게시물(2020/02/18 - [Python] - [API]기상청 api로 데이터 가져오기 in Python)에서 API의 대략적인 개념과 Python에서 기상공공데이터 API를 활용하여 내가 원하는 데이터를 가져와보았다.
이번에는 네이버데이터랩에서 제공하는 데이터인 통합검색어트랜드 데이터를 수집해보려한다. 다행히(?) 네이버데이터랩에서는 각 언어별로 친절한 가이드를 제공한다.
https://developers.naver.com/docs/datalab/search/
본 가이드를 따라가며 데이터 수집 API를 개발해보자.
01. API 신청하기
역시나 네이버데이터랩도 사전에 API를 미리 신청해야한다. 신청하고 사용자key를 받아와야하기 때문이다.
아래 주소로 들어가면 신청할 수 있다. 이때, 네이버 계정은 갖고 있어야 신청할 수 있다.(단, 단체나 기업의 경우 단체 계정으로 가입하여 진행하는 것이 좋다.)
https://developers.naver.com/apps/#/register?defaultScope=datalab
위의 URL로 접속하면
import os
import sys
import urllib.request
import pandas as pd
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
url = "https://openapi.naver.com/v1/datalab/search";
body2 = {
'startDate' : '2017-01-01',
'endDate' : '2017-04-30',
'timeUnit' : 'date', # input : [date, week, month]
'keywordGroups' : [ #
{
'groupName': '한글',
'keywords': ['한글', 'korean']
},{
'groupName': '영어',
'keywords': ['영어', 'english']
}
],
'device' : 'pc',
'ages' : ['1','2','3','4','5','6','7','8','9','10','11'],
'gender' : ['f', 'm']
}
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
request.add_header("Content-Type","application/json")
response = urllib.request.urlopen(request, data=body.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else:
print("Error Code:" + rescode)
data = json.loads(response_body)
tmp = pd.DataFrame(data['results'])
print(tmp)
res = data['results'][0]['data']
pd.DataFrame(res)
728x90
반응형
'Python' 카테고리의 다른 글
[API]기상청 api로 데이터 가져오기 2 in Python(feat. 동네예보 - 초단기실황) (1) | 2020.02.29 |
---|---|
[API] 영화진흥위원회 제공 박스오피스 API 사용 (0) | 2020.02.28 |
[Tips] 컴프리헨션(Comprehension), 이터레이터(Iterator), 제너레이터(Generator) (0) | 2020.02.21 |
[Tips] byte, str 타입 오류(feat. TypeError: write() argument must be str, not bytes) (0) | 2020.02.21 |
[API]기상청 api로 데이터 가져오기 in Python(feat. ASOS 종관기상관측) (0) | 2020.02.18 |
Comments