본문 바로가기
Python

[파이썬] 네이버 카페 API 포스팅 리스트 추출

by 퍼포먼스마케팅코더 2022. 8. 7.
반응형

이거는 이전에 제가 보여드렸던 것 중에 네이버 카페 api로 포스팅한다거나 이런 것들이 있었었죠. 네이버 api를 통해서 네이버 카페에 어떤 글들이 있는가 이것도 볼 수가 있습니다. 이거는 블로그랑 똑같다고 보시면 돼요 블로그랑 거의 내용이 똑같고 크나 큰 차이는 없습니다. 어떤 블로카페도 마찬가지로 마케팅 이런 것을 할 수도 있지 않습니까? 

파이썬 네이버 카페 API 포스팅 리스트 추출

그런 거를 할 때 쓰인 거다라고 보시면 돼요 보통은 어떤 특정 키워드를 집어넣으면 그거에 따라서 카페의 포스팅의 제목 링크 그다음에 그에 따른 요약된 설명 그다음에 카페 명 이렇게 결과가 나올 거예요. 이것도 마찬가지로 어떤 특정 키워드를 집어넣으면 이에 따라서 카페 글수 기본적으로 한 100개 정도가 디폴트로 나옵니다. 그렇게 되어 있어서 뽑은 거다라고 보시면 돼요. 특정 카페에서 어떠한 것들이 키워드 이런 것들이 있는가 이런 것이 궁금하거나 이러면 애용해서 쓰시는 게 유용할 거라 생각을 해서 가지고 왔습니다. 큰 나큼은 다른 것이 없고요 마케팅 이런 거 쓸 때 유용하게 쓰이지 않을까 싶어서 가지고 와봤어요. 어떤 카페 안에서 홍보 글이 뭔가 있는지 없는지 그런 것들도 파악을 위해서 쓸 수도 있고요. 그런 용도로 다양하게 쓰일 수 있을 것이다라고 판단해서 가져와봤습니다.

import os
import sys
import urllib.request
import json
from pandas.io.json import json_normalize


f =  open('C:/Users/user/raw/naver_cafe/cafe_content_result.csv', 'w', encoding='utf-8-sig') #csv파일 데이터 넣을거 생성
f.write("keyword,title_2,link,description_2,cafename"+'\n') #컬럼명 입력


keyword = '갤럭시워치 스트랩'

# 네이버 API 

# https://developers.naver.com/docs/serviceapi/search/blog/blog.md#%EB%B8%94%EB%A1%9C%EA%B7%B8
# https://developers.naver.com/docs/common/openapiguide/apilist.md

client_id = "" #클라이언트 ID
client_secret = "" #클라이언트 시크릿

encText = urllib.parse.quote(keyword) #검색어 입력

# json 기준 각 섹션별 검색
#url = "https://openapi.naver.com/v1/search/news?query=" + encText #뉴스글수
#url = "https://openapi.naver.com/v1/search/blog?query=" + encText #블로그 글수
#url = "https://openapi.naver.com/v1/search/shop?query=" + encText #쇼핑 글수
url = "https://openapi.naver.com/v1/search/cafearticle?query=" + encText + "&display=100&start=1" #카페 글수

# 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()
    json_str = response_body.decode('utf-8')
else:
    print("Error Code:" + rescode)
    
json_object  = json.loads(json_str) #json 변환
#df = pd.DataFrame(json_object['items'])  #데이터 프레임 전환

#print(json_object)
#df[['description']] #뉴스 제목, 요약, 링크 

#len(json_object)

#for items in json_object['items'] :
#    title = items['title']
#    print(title)


for items in json_object['items'][:len(json_object['items'])] :
    title = items['title']
    title_2 = title.replace("<b>", "")
    title_2 = title_2.replace("</b>", "")    
    title_2 = title_2.replace(",", "")    
    link = items['link']
    description = items['description']
    description_2 = description.replace("<b>", "")
    description_2 = description_2.replace("</b>", "")   
    description_2 = description_2.replace(",", "")  
    cafename = items['cafename']
    cafename= cafename.replace(",", "")
    f.write(str(keyword)+','+str(title_2)+','+str(link)+','+str(description_2)+','+str(cafename)+','+ '\n') #컬럼명 입력

f.close()
반응형

댓글