데이터 분석을 위한 사전공부 데이터 종류와 데이터 수집에 대해 공부를 진행했다
데이터의 종류에 대한 생각과 데이터 수집중 API 형태의 데이터 수집 그 중 네이버 검색 API 내가 원하는 키워드대로 수집하는 코드를 작성한다
데이터 종류
- 정형
- 구조화 된 데이터
- RDMS를 통한 데이터일 확률이 높음
- 데이터와 구조정보가 분리되어 있다
- 비정형
- 구조가 없는 데이터
- 바이너리 데이터 ( 비디오, 오디오, 문서파일 )
- NoSQL
- 반정형
- RDBMS에서 추출하진 않았지만, 어느 정도는 구조를 가지고 있음
- JSON, XML -> 텍스트 기반 이기종, 플랫폼, 언어 독립적인 데이터 포멧
- HTML 형식
- 데이터 안에 데이터와 구조정보가 같이 존재함
데이터 수집 방법 : 네이버 open API를 활용한 뉴스 수집
뉴스 데이터 수집으로 자연어 처리 용도로 활용이 가능하다
API는 검색만 신청한 후 Client ID, Client Secret 필요
import sys import os import urllib.request
먼저 사용 할 모듈을 가져와 줍니다
CLIENT_ID = "" CLIENT_SECRET = ""
네이버 검색 API를 사용하기 위해 필요한 키로 네이버 개발자 센터에서 발급받을 수 있습니다

네이버 API를 사용하기 위해 네이버 개발자 센터 Naver Developer 에서 API 제휴 신청을 해줍니다

검색 API의 일 허용량은 25,000회로 자동화 하거나 추후 많이 사용하게 될때 참고해두세요
encText = urllib.parse.quote("키워드") url = "https://openapi.naver.com/v1/search/news.json?query=" + encText
키워드 입력하는 변수와 url 값을 만들어 줍니다
request = urllib.request.Request(url) # 프로토콜 헤더에 정보를 세팅한다
request.add_header("X-Naver-Client-Id", CLIENT_ID)
request.add_header("X-Naver-Client-Secret", CLIENT_SECRET) #
urlopen() 실제적으로 서버에 요청하는 함수
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
response_body = response.read() print(response_body.decode('utf-8'))
else: print("Error Code:" + rescode)
이후 네이버 API 사용 방법에 따라 response 해주고 코드 200으로 성공일때 작동하도록 만들어 줍니다
정상적으로 코드가 실행되면 5가지 값이 출력됩니다 title, originallink, link, description, pubDate
import sys import os
import urllib.request
CLIENT_ID = ""
CLIENT_SECRET = ""
encText = urllib.parse.quote("키워드")
url = "https://openapi.naver.com/v1/search/news.json?query=" + encText
request = urllib.request.Request(url) # 프로토콜 헤더에 정보를 세팅한다
request.add_header("X-Naver-Client-Id", CLIENT_ID)
request.add_header("X-Naver-Client-Secret", CLIENT_SECRET) #
urlopen() 실제적으로 서버에 요청하는 함수
response = urllib.request.urlopen(request)
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
print(response_body.decode('utf-8'))
else: print("Error Code:" + rescode)
1차 기본적인 네이버 API 테스트 총합 코드입니다
간단하게 API 형태 데이터 수집 방법을 작성해봤습니다 앞으로 웹 스크래핑, 크롤링, 자동화 까지 진행 후 본격적인 EDA 시작 해보겠습니다
'Python > 데이터 수집' 카테고리의 다른 글
데이터 수집, 분석에 사용되는 numpy (0) | 2024.01.30 |
---|---|
[데이터 수집]BS4, BeautifulSoup 웹 스크래핑 (0) | 2024.01.29 |