라벨이 데이터 수집 자동화인 게시물 표시

[연구 자동화 #24] 실전 프로젝트: 공공 데이터 API로 연구 트렌드 리포트 자동 생성하기

 연구자에게 '최신 트렌드 파악'은 숙명과도 같습니다. 하지만 매번 관련 포털에 접속해 키워드를 검색하고, 결과를 엑셀로 내려받아 정리하는 과정은 꽤 번거롭습니다. 파이썬의 API(Application Programming Interface) 활용 기술을 이용하면, 이 지루한 과정을 자동화된 파이프라인으로 바꿀 수 있습니다. 1. API란 무엇인가? 연구원의 '데이터 주문서' API를 어렵게 생각할 필요 없습니다. 식당에서 메뉴판을 보고 주문을 하면 주방에서 음식이 나오는 것과 같습니다. 우리가 특정 규칙(URL)에 맞춰 데이터(주문)를 요청하면, 공공 데이터 서버(주방)에서 우리가 원하는 최신 데이터를 보내주는 방식입니다. 웹 크롤링(9~10편)이 웹페이지를 '긁어오는' 방식이라면, API는 서버에서 '정식으로 제공하는 데이터'를 받는 방식입니다. 따라서 훨씬 안정적이고 법적으로도 안전합니다. 2. 준비 단계: 데이터의 문을 여는 'API 키' 발급받기 가장 대표적인 소스는 공공데이터포털(data.go.kr)이나 ScienceON(scienceon.kisti.re.kr)입니다. 해당 사이트에 회원가입 후 원하는 데이터(예: 국가연구개발과제 정보, 특허 정보 등)를 검색합니다. '활용 신청'을 하면 나만의 고유한 인증키(Service Key)가 발급됩니다. 이 키는 일종의 출입증이므로 타인에게 노출되지 않도록 주의해야 합니다. 3. 실전: 데이터 호출부터 시각화까지 API로 가져온 데이터는 보통 JSON 이나 XML 형식을 띱니다. 파이썬은 이 복잡한 형식을 순식간에 Pandas 데이터프레임으로 변환해 줍니다. Python import requests import pandas as pd # 1. 요청 주소 및 인증키 설정 url = '공공데이터_제공_URL' params = { 'serviceKey' : '나의_인증키...

[연구 자동화 #9] 웹 데이터 수집의 기초: 파이썬으로 연구용 정보를 자동으로 크롤링하기

  연구자에게 정보는 곧 힘입니다. 하지만 정보가 너무 방대하게 퍼져 있다는 것이 문제입니다. 수십 개의 사이트를 북마크해두고 매일 수동으로 확인하는 것은 에너지를 낭비하는 일이죠. 파이썬의 Requests 와 BeautifulSoup 라이브러리를 활용하면, 내가 원하는 사이트의 특정 정보만 쏙쏙 뽑아와서 엑셀이나 데이터프레임으로 정리할 수 있습니다. 1. 크롤링과 스크레이핑, 무엇이 다른가요? 보통 혼용해서 쓰지만, 엄밀히 말하면 조금 다릅니다. 크롤링(Crawling): 거미줄처럼 연결된 웹페이지를 돌아다니며 정보를 탐색하는 행위입니다. 스크레이핑(Scraping): 특정 웹페이지에서 내가 필요한 데이터(제목, 본문, 날짜 등)만 추출하는 행위입니다. 우리는 보통 특정 사이트에서 연구 데이터를 가져오는 스크레이핑 기술을 먼저 배우게 됩니다. 2. 웹 데이터 수집의 두 기둥: Requests 와 BeautifulSoup 웹페이지는 기본적으로 HTML이라는 언어로 되어 있습니다. 파이썬이 이 정보를 가져오기 위해서는 두 단계가 필요합니다. Requests (주문하기): 파이썬이 웹 서버에 "이 페이지 정보 좀 줄래?"라고 요청을 보내는 도구입니다. BeautifulSoup (해석하기): 서버로부터 받은 복잡한 HTML 코드 뭉치에서 내가 원하는 텍스트나 링크만 골라내는 '핀셋' 역할을 합니다. 설치 방법: 터미널에서 pip install requests beautifulsoup4 를 입력하세요. 3. 실전: 5분 만에 뉴스 제목 긁어오기 주피터 노트북에서 아래 코드를 실행해 보세요. 웹 데이터 수집의 원리를 단번에 이해할 수 있습니다. Python import requests from bs4 import BeautifulSoup # 1. 정보를 가져올 웹사이트 주소 설정 url = 'https://news.naver.com' # 예시 사이트 # 2. 서버에 페이지 정보 요청 respon...