본문 바로가기
Python/Python_Crawling

API/JSON 이란?(+postman 활용 데이터 get)

by Mr.DonyStark 2024. 1. 19.

□ Open API(Rest API)
 ○ Application Programmin Interface
 ○ 특정 프로그램을 만들기 위해 제공되는 모듈(함수 등)을 의미
 ○ Open API : 공개 API라고도 불리우며 누구나 사용할 수 있도록 공개된 API(주로 REST API 기술을 사용함)
 ○ REST API : Representational State Transfer API 약자, HTTP 프로토콜을 통해 서버제공 기능을 사용할 수 있는 함수 의미
   - 일반적으로 XML, JSON 형태로 응답을 전달

□ JSON
 ○ JavaScript Object Notation 
 ○ 웹환경에서 서버와 클라이언트 사이에 데이터를 주고받을 때 많이 사용
 ○ 형태 : {'키':'벨류'~~}
* TMI) localhost = 127.0.0.1

□ Naver API 신청 및 JSON 데이터 Get방법

  ① https://developers.naver.com/main/ 접속

    - Application 클릭

    - Application 명 및 신청 API 선택

    - X-Naver-Client-Id, X-Naver-Client-Secret 확인

 

  ② 포스트맨 설치

     - 네이버>뉴스 겟 링크 복사 후 붙여넣기

     - 헤더에 X-Naver-Client-Id, X-Naver-Client-Secret  입력 및 값 붙여넣기

     - send 클릭

 

□ Naver API 로 불러온 값 조회 by PYTHON

 ○ 불러온 데이터를 변수에 담음

 ○ 변수 = json.loads(데이터가담긴변수명)

 ○ 변수['items'][인덱스번호][요소] 형식의 코드로 데이터 값 조회 및 핸들링

import json

#네이버 뉴스에서 android로 검색한 결과
data = """
{
    "lastBuildDate": "Fri, 19 Jan 2024 19:32:14 +0900",
    "total": 30084,
    "start": 1,
    "display": 10,
    "items": [
        {
            "title": "Samsung Electronics Unveils Exynos 2400, 'Brain' of Galaxy S24 Series: O...",
            "originallink": "https://www.businesskorea.co.kr/news/articleView.html?idxno=209848",
            "link": "https://www.businesskorea.co.kr/news/articleView.html?idxno=209848",
            "description": "Through a partnership with Google, it collaborates with the new service system of <b>Android</b> 14, known as <b>Android</b> AI Core (AICore), and supports a variety of on-device AI services through the next... ",
            "pubDate": "Fri, 19 Jan 2024 17:48:00 +0900"
        },
        {
            "title": "Pokémon Knockoff Game &quot;Pocket Brawl XD&quot; Resurfaces",
            "originallink": "http://www.gamevu.co.kr/news/articleView.html?idxno=30753",
            "link": "http://www.gamevu.co.kr/news/articleView.html?idxno=30753",
            "description": "The game will be released exclusively on the <b>Android</b> platform, with social media advertisements indicating a planned release on the 16th. The pre-order page and the main page of the official... ",
            "pubDate": "Fri, 19 Jan 2024 15:06:00 +0900"
        },
        {
            "title": "강력해진 스마트폰 '두뇌'의 귀환…삼성 '엑시노스' 부활의 노래",
            "originallink": "https://www.news1.kr/articles/5294183",
            "link": "https://n.news.naver.com/mnews/article/421/0007300493?sid=101",
            "description": "게다가 구글과의 파트너십을 통해 '안드로이드 14(<b>Android</b> 14)'의 새로운 서비스 시스템인 '안드로이드 AI 코어'와 협력 중이며 차세대 대규모 언어모델(LLM) '제미나이 나노(Gemini Nano)'를 통해 여러 가지 온디바이스 AI... ",
            "pubDate": "Fri, 19 Jan 2024 05:50:00 +0900"
        },
        {
            "title": "외신도 극찬한 삼성 갤럭시 S24…&quot;'갤럭시 AI'는 혁명적&quot;",
            "originallink": "https://www.theguru.co.kr/news/article.html?no=65402",
            "link": "https://www.theguru.co.kr/news/article.html?no=65402",
            "description": "안드로이드 오소리티(<b>Android</b> Authority)는 &quot;삼성이 주장하는 것처럼 '갤럭시 AI'는 혁명적&quot;이라며 &quot;채팅 어시스트는 최신 AI 트렌드를 진정으로 충족시키는 등 첫인상에서도 흥미를 끌 만큼 새로운 기능들이 많았다&quot;고... ",
            "pubDate": "Thu, 18 Jan 2024 18:10:00 +0900"
        },
        {
            "title": "삼성 엑시노스, 갤럭시S24 탑재…2년 만에 부활 노린다",
            "originallink": "http://www.edaily.co.kr/news/newspath.asp?newsid=02164806638759032",
            "link": "https://n.news.naver.com/mnews/article/018/0005657198?sid=101",
            "description": "또한, 구글과의 파트너십을 통해 ‘안드로이드 14’의 새로운 서비스 시스템인 ‘안드로이드 AICore(<b>Android</b> AICore)’와 협력 중이며 차세대 대규모 언어모델(LLM) ‘제미나이 나노’를 통해 다양한 온디바이스 AI... ",
            "pubDate": "Thu, 18 Jan 2024 11:14:00 +0900"
        },
        {
            "title": "노스리지 지진 30주년..그 후 달라진 점은?!",
            "originallink": "https://www.radiokorea.com/news/article.php?uid=436336",
            "link": "https://www.radiokorea.com/news/article.php?uid=436336",
            "description": "또 안드로이드 휴대전화의 경우에 지진 경보(<b>Android</b> Earthquake Alerts)가 자체적으로 이미 깔려 나온다고 하네요. ## 9. 오늘 노스리지 30주년을 맞아 LA소방국은 주민들에게 역사적인 대지진으로 인한 참상을 상기시키며... ",
            "pubDate": "Thu, 18 Jan 2024 04:02:00 +0900"
        },
        {
            "title": "Google unveils new image-based search feature for premium <b>Android</b> smartp...",
            "originallink": "https://en.yna.co.kr/view/AEN20240117008900320?input=2106m",
            "link": "https://n.news.naver.com/mnews/article/001/0014451492?sid=104",
            "description": "premium <b>Android</b> smartphones By Kim Na-young SEOUL, Jan. 18 (Yonhap) -- Google said Thursday its new image-based search feature for premium <b>Android</b> smartphones, including Samsung Electronics Co.'s... ",
            "pubDate": "Thu, 18 Jan 2024 03:00:00 +0900"
        },
        {
            "title": "How to Cut Down Your Screen Time but Still Get Stuff Done",
            "originallink": "https://www.nytimes.com/2024/01/17/technology/personaltech/screen-time-phone.html?partner=naver",
            "link": "https://www.nytimes.com/2024/01/17/technology/personaltech/screen-time-phone.html?partner=naver",
            "description": "Here’s where the Google Assistant for <b>Android</b> or iOS comes in, with an easy way to do all that... <b>Android</b> users can make a home-screen icon that runs the Routine with a tap. (Action Blocks, a... ",
            "pubDate": "Wed, 17 Jan 2024 23:02:00 +0900"
        },
        {
            "title": "Seoul to start sales of Climate Card next week",
            "originallink": "https://www.khan.co.kr/english/general_news/article/202401171736147/?eng",
            "link": "https://n.news.naver.com/mnews/article/032/0003273930?sid=104",
            "description": "The mobile cards can only be used on mobile phones with the <b>Android</b> operating system. The physical cards can be purchased for 3,000 won in Seoul subway stations of Line 1 to 8. The cards can be... ",
            "pubDate": "Wed, 17 Jan 2024 17:37:00 +0900"
        },
        {
            "title": "Solana Mobile Set to Unveil Next-Gen Crypto Smartphone",
            "originallink": "https://www.econotimes.com/Solana-Mobile-unveils-next-gen-crypto-smartphone-1669650",
            "link": "https://www.econotimes.com/Solana-Mobile-unveils-next-gen-crypto-smartphone-1669650",
            "description": "The upcoming phone, positioned as a more economical alternative, will retain the fundamental features of its predecessor, the Saga, including an integrated crypto wallet, customized <b>Android</b>... ",
            "pubDate": "Wed, 17 Jan 2024 15:44:00 +0900"
        }
    ]
}
"""
#데이터 변수 지정
json_data = json.loads(data)
print(json_data['items'][0]['title'])
print(json_data['items'][0]['pubDate'])