#네이버 개발자 센터에서 어플리케이션 등록 후
#네이버 개발자 센터에서 제공하는 블로그 open API 활용하여 연습
#참고 : https://developers.naver.com/docs/search/blog/
#X-Naver-Client-Id = 클라이언트 아이디
#X-Naver-Client-Secret = 클라이언트 비밀번호
import urllib.request
client_id = "클라이언트 아이디"
client_secret = "클라이언트 비밀번호"
encText = urllib.parse.quote(input("검색할 단어를 입력하세요 :"))
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)
import requests
from urllib.parse import urlparse
keyword = '붕어빵'
url = "https://openapi.naver.com/v1/search/blog?query=" + keyword + "&display=100" + "&start=101"
result = requests.get(urlparse(url).geturl(),
headers={"X-Naver-Client-Id":"클라이언트 아이디",
"X-Naver-Client-Secret":"클라이언트 비밀번호"})
print(result.json())
#print의 결과값만 복사해서 google에 json viewer쳐서 들어가서 text에 붙여넣고 view 누르기
# =============================================================================
# key를 이용해서 value를 뽑아내기(dict니까)
# =============================================================================
json_data = result.json()
#type(json_data)
#print(json_data['display'])
#print(json_data['lastBuildDate'])
#print(json_data['start'])
#print(json_data['total'])
#print(json_data['items']) #세부내용
#print(type(json_data['items']))
#for문으로 내용 뽑아서 파일 만들기
file = open("네이버블로그openAPI.txt", 'w', encoding = "UTF-8")
for item in json_data['items']:
file.write(item['title'].replace("<b>", "").replace("</b>", "") + "\n") # <b> </b> 제거
file.write(item['description'].replace("<b>", "").replace("</b>", "") + "\n")
file.write('========================================' + '\n')
file.close()
def naverBlogOpenAPI(x,y,z) :
import requests
from urllib.parse import urlparse
file = open("네이버블로그openAPI_all.txt", 'w', encoding = "UTF-8")
keyword = str(x)
i = 1
for i in range(1, y+1) :
if i == 1 :
url = "https://openapi.naver.com/v1/search/blog?query=" + \
keyword + "&display=" + str(z) + "&start=" + str(i)
elif i > 1 :
url = "https://openapi.naver.com/v1/search/blog?query=" + \
keyword + "&display=" + str(z) + "&start=" + str((i-1)*z + 1)
result = requests.get(urlparse(url).geturl(),
headers={"X-Naver-Client-Id":"클라이언트 아이디",
"X-Naver-Client-Secret":"클라이언트 비밀번호"})
json_data = result.json()
#for문으로 내용 뽑아서 파일 만들기
for item in json_data['items']:
file.write("[제목] : " + item['title'].replace("<b>", "").replace("</b>", "") + "\n") # <b> </b> 제거
file.write("[본문] : " + item['description'].replace("<b>", "").replace("</b>", "") + "\n")
file.write('========================================' + '\n')
file.write("\n" + "<<<<<<<<<<<<<<<<<<<<" + str(i*z) + "개 완료" + ">>>>>>>>>>>>>>>>>>>>" + "\n\n")
file.close()
실행해보기
naverBlogOpenAPI("붕어빵", 3, 11)
안녕하세요. 궁금한게 있는데요. 블로그 검색 API를 사용해서 검색된 문서수 TOTAL 값을 구하는데... 최근 한달간의 문서수만 구할수는 없을까요? 어떻게 해야 할까요?