Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Naver API Key를 이용해서 네이버 학술(논문) 데이터 추출하기 #19

Open
sangHa0411 opened this issue Nov 30, 2021 · 0 comments
Assignees
Labels
help wanted Extra attention is needed

Comments

@sangHa0411
Copy link
Contributor

  1. 네이버 Developers

    1. 주소 : https://developers.naver.com/docs/serviceapi/search/blog/blog.md#%EB%B8%94%EB%A1%9C%EA%B7%B8
  2. 사용해야 할 코드

# 네이버 검색 API예제는 블로그를 비롯 전문자료까지 호출방법이 동일하므로 blog검색만 대표로 예제를 올렸습니다.
# 네이버 검색 Open API 예제 - 블로그 검색
import os
import sys
import urllib.request
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
encText = urllib.parse.quote("검색할 단어") 
url = "https://openapi.naver.com/v1/search/blog?query=" + encText # json 결과
# url = "https://openapi.naver.com/v1/search/blog.xml?query=" + encText # xml 결과
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
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. 학술 정보를 위해 변형해야 할 부분

    1. 2번 사항은 블로그에 해당되기 떄문에 저희가 이용해야 할 학술 정보는 아래와 같은 자료를 참고해서 코드를 변형해야 합니다.
    # 변경 전
     url = "https://openapi.naver.com/v1/search/blog?query=" + encText # json 결과
    # 변경 후
    url = "https://openapi.naver.com/v1/search/blog?doc=" + encText # json 결과
    1. 참고자료 (전문자료 항목)
    스크린샷 2021-12-01 오전 1 58 24
  2. 사용 방향

if(rescode==200): # 정상적으로 검색이 된 경우
    response_body = response.read() # byte 정보를 받게 되고
    print(response_body.decode('utf-8')) # utf-8 로 인코딩을 해서 text 형태로 변형하게 됩니다.
else:
    print("Error Code:" + rescode)

하지만 인코딩된 text는 아래와 같이 저희가 사용하기 힘든 구조로 되어있습니다. 하지만 이 str이 json 구조이므로 json라이브러리를 활용하면 dict 형태로 변환이 되고 저희가 사용하기 훨씬 수월하게 됩니다.
스크린샷 2021-12-01 오전 2 13 34

@sangHa0411 sangHa0411 added the help wanted Extra attention is needed label Nov 30, 2021
@sangHa0411 sangHa0411 self-assigned this Nov 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant