
데이터 분석을 위한 데이터 스크래핑
✔️ 데이터 스크래핑(Data Scraping)
✔️ 네이버(NAVER) API 신청
✔️ 네이버 API 활용한 자료 수집
✔️ 데이터 스크래핑(Data Scraping)
데이터 스크래핑
데이터 스크래핑(data scraping)과 크롤링(crawling)
크롤링 : google, naver에서 데이터를 가져오는 것
스크랩핑 : API 등을 활용하여 데이터를 가져오는 것
웹에서 자료를 수집하는 방법
1. API를 이용해 자료 수집
naver, google, kakao, 공공데이터에서 제공하는 API를 이용해 자료 수집
2. Web 페이지를 직접 스크래이핑 해서 자료 수집 (페이지의 성격에 맞게 자료 수집)
정적페이지 수집 : javascript 없이 수집 가능한 사이트
동적페이지 수집 : javascript에 의해 콘텐프가 제어, 웹브라우저 제어를 통해 수집
✔️ 네이버(NAVER) API 신청
네이버(NAVER) API 신청
naver, google, kakao, 공공데이터에서 제공하는 API를 이용해 자료 수집
네이버 API 신청 과정
1. 네이버 개발자 센터에 들어가서 로그인 진행 및 서비스 API에서 검색으로 들어가기
2. 검색 -> 개발자 가이드 들어가서 API 등록하는 방법 확인하기
3. 애플리케이션 등록에서 API 이용 신청하기
4. 애플리케이션 정보의 Client ID와 Client Secret 을 활용하여 API 이용 가능
1. 네이버 개발자 센터에 들어가서 로그인 진행 및 서비스 API에서 검색으로 들어가기
NAVER Developers
네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음
developers.naver.com

2. 검색 -> 개발자 가이드 들어가서 API 등록하는 방법 확인하기
검색 > 블로그 - Search API
검색 > 블로그 블로그 검색 개요 개요 검색 API와 블로그 검색 개요 검색 API는 네이버 검색 결과를 뉴스, 백과사전, 블로그, 쇼핑, 웹 문서, 전문정보, 지식iN, 책, 카페글 등 분야별로 볼 수 있는 API
developers.naver.com
3. 애플리케이션 등록에서 API 이용 신청하기
애플리케이션 - NAVER Developers
developers.naver.com

4. 애플리케이션 정보의 Client ID와 Client Secret 을 활용하여 API 이용 가능

✔️ 네이버 API 활용한 자료 수집
네이버 API 활용
네이버 검색의 블로그 검색 결과를 XML 형식 또는 JSON 형식으로 반환
네이버 API를 활용한 데이터 수집(스크래핑)은 GET 방식 사용
GET 방식
데이터가 URL에 노출되어 보안에 취약하고 길이 제한이 있음
데이터 조회하는데 적합한 방식
검색 > 블로그 - Search API
검색 > 블로그 블로그 검색 개요 개요 검색 API와 블로그 검색 개요 검색 API는 네이버 검색 결과를 뉴스, 백과사전, 블로그, 쇼핑, 웹 문서, 전문정보, 지식iN, 책, 카페글 등 분야별로 볼 수 있는 API
developers.naver.com
검색 API 블로그 검색 구현 예제 활용
구현 예제 활용한 데이터 스크래핑
자신이 사용하는 언어의 구현 예제를 통해 데이터 스크래핑 진행
URL : http://로 시작하는 웹페이지 접속주소
url : 실제 서비스 서버에 접속하는 주소
parameter : 서비스에 요청하는 값
검색 > 블로그 - Search API
검색 > 블로그 블로그 검색 개요 개요 검색 API와 블로그 검색 개요 검색 API는 네이버 검색 결과를 뉴스, 백과사전, 블로그, 쇼핑, 웹 문서, 전문정보, 지식iN, 책, 카페글 등 분야별로 볼 수 있는 API
developers.naver.com
# 발급받은 클라이언트 아이디와 시크릿을 복사붙여 넣어 할당 Client_Id = 'Paste Your Client ID' Client_Secret = 'Paste Your Cliuent Secret'
# 네이버 개발자 페이지의 파이썬 예제 코드를 바탕으로 작성하였습니다 import os import sys import urllib.request # Client_ID와 Client_Secret 할당 client_id = Client_Id client_secret = Client_Secret # 블로그 검색 중 파이썬으로 검색한 경우만 확인 # 파이썬 키워드에 대해 검색한 경우 API를 활용해 검색하기 위한 단어로 변화 encText = urllib.parse.quote("파이썬") print(f'파이썬 검색 : ',encText)

# 실제 서비스 서버에 접속하는 주소 URL = 'https://openapi.naver.com/v1/search/blog?query=' # 파이썬으로 검색한 경우의 url 주소 확인 url = URL + encText # JSON 결과 # url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # XML 결과 print(url)

# 데이터를 가져오고자 하는 url 지정하여 할당 request = urllib.request.Request(url) # 네이버 API에서 요청을 인증하기 위해 client_id, client_secret 추가 request.add_header("X-Naver-Client-Id",client_id) request.add_header("X-Naver-Client-Secret",client_secret) # 지정된 request를 HTTP 요청을 보냄 # 응답을 rescode에 할당 response = urllib.request.urlopen(request) rescode = response.getcode() # rescode가 200인 경우만 정상적으로 수행되고 나머지는 오류 발생 if(rescode==200): response_body = response.read() print(response_body.decode('utf-8')) else: print("Error Code:" + rescode)
결과는 직접 해보시기 바랍니다. encText에 따라 결과는 달라질 수 있습니다.
API로 수집된 데이터 데이터프레임으로 변환
import json # utf-8로 디코딩하여 문자열로 변환 data = response_body.decode('utf-8') # json 문자열을 딕셔너리로 변환 data = json.loads(data)
# 반복문을 통해 딕셔너리 키와 값에 따른 딕셔너리문을 result에 할당 result = {} for i in range(len(data['items'])): for key, value in data['items'][i].items(): value = text_clean(value) result.setdefault(key, []).append(value) # print(result)
# 문자열을 알오보기 용이하게 변환 def text_clean(x): result = x.replace('<b>','').replace('</b>','') return result
# 데이터프레임으로 변환 import pandas as pd df = pd.DataFrame(result) df

이번 내용에서는 네이버 API 신청 및 네이버 API 활용 데이터 스크래핑에 대해 알아보았습니다.
파이썬(Python)을 활용한 데이터 스크래핑을 공부하고 정리해 나갈 예정이니,
파이썬으로 데이터 스크래핑을 공부하는데 도움이 되었으면 좋겠습니다.
데이터 스크래핑을 진행하며 반복문과 리스트, 딕셔너리 구조가 중요하다는 것을 깨달았습니다.
파이썬의 반복문과 리스트, 딕셔너리 구조에 관한 블로그 글 참고하시면 좋을 것 같습니다.
[Python] 파이썬_파이썬 딕셔너리(dict)와 딕셔너리 함수 활용
데이터 분석을 위한 Python ✔️ 딕셔너리 활용✔️ 딕셔너리 함수✔️ 딕셔너리 함수 활용 ✔️ 딕셔너리 활용 딕셔너리 생성딕셔너리 사용dict 타입, JSON형이라고도 함web에서
everyonelove.tistory.com
[Python] 파이썬_파이썬 딕셔너리(dict)와 딕셔너리 함수 활용
데이터 분석을 위한 Python ✔️ 딕셔너리 활용✔️ 딕셔너리 함수✔️ 딕셔너리 함수 활용 ✔️ 딕셔너리 활용 딕셔너리 생성딕셔너리 사용dict 타입, JSON형이라고도 함web에서
everyonelove.tistory.com
[Python] 파이썬_파이썬 for 반복문과 enumerate(), continue, break
데이터 분석을 위한 Python ✔️ 반복문_for문✔️ 반복문 보조 함수와 제어 키워드 ✔️ 반복문_for문 for문for 반복문 : 반복할 횟수가 정해져 있는 경우순서가 있는 자료형(문자열,
everyonelove.tistory.com
제 블로그에 방문하면 데이터 분석과 관련된 다양한 정보들이 준비되어 있으니
관심 있는 분들은 방문해서 좋은 정보 얻어가시길 바랍니다.
ECODATALIST
데이터 분석 공부 열심히 하는 중😁
everyonelove.tistory.com
'Python > 데이터 분석을 위한 데이터 스크래핑' 카테고리의 다른 글
[Python] 데이터 스크래핑_ XML 데이터 스크래핑 및 공공데이터 API 활용 XML 데이터 스크래핑 (0) | 2025.04.07 |
---|---|
[Python] 데이터 스크래핑_ 공공데이터 API 신청 및 공공데이터 API 활용 데이터 스크래핑 (0) | 2025.04.06 |
[Python] 데이터 스크래핑_requests 모듈을 사용한 네이버 API 활용 데이터 스크래핑 (0) | 2025.04.03 |