본문 바로가기
애드센스 자동화 프로그램 개발 기록/티스토리 색인 자동화 프로그램 개발 기록

티스토리 블로그 네이버, 구글 색인 생성 프로그램 만드는중

by 파이썬코딩대학 2025. 1. 15.

애드센스 블로그 운영하는 사람들을 위한 프로그램을 만들기로 했음

(사실 괜찮아 보이는 아이디어 전부 프로그램으로 만들고 있긴 함)

 

만드는 과정 한눈에 보러가기

 

2025.01.15 - [파이썬 코딩 기록] - 티스토리 색인 자동화 프로그램 4일간의 개발 과정

 

티스토리 색인 자동화 프로그램 개발 과정

티스토리 색인 자동화 프로그램 왜 만드냐 ? 핫한 아이템들이 애드센스 블로그 운영인데애드센스 블로그 글 쓰는 사람들에게 도움되는 프로그램 만들어 보려고 ㅇㅇ 1. UI 기획하고 네이버 구

pythoncodinguniversity.tistory.com

 

 

 

티스토리 블로그 색인 생성 프로그램
티스토리 블로그 색인 생성 프로그램

 

 

뻘글도 써가며 개발해볼 프로그램의 모습을 구체화시켜 나가보자..

일단은 화면부터 기획해야겠지?

 

1. UI 기획 단계 

Balsamiq라는 UI 스케치 해보는 툴을 사용해서

이렇게 화면을 그려봤음

 

 

[고민해본 프로그램 사용 플로우]

(1) 정보는 txt 파일에 저장하고 불러올 수 있도록 할거고 [티스토리 주소, 네이버 아이디, 구글 키]

(2) 최신 글 몇개 불러올지 입력하고 > 가져오기 버튼 누르기

(3) 불러온 최신 글 N개를 네이버 색인 Or 구글 색인하기 

 

 

2. GUI 개발 및 네이버 색인 생성 자동화 로직 만들기

Pyside6으로 간단하게 UI 만들고, 프로그램 로직 테스트 하고 있음

네이버는 로직 개발 완료 !

자동 색인 생성 프로그램
자동 색인 생성 프로그램
자동 색인 생성 프로그램 개발중
자동 색인 생성 프로그램 개발중

 

 

GUI가 아직 구리긴 한데.. 일단 로직 테스트용 이니까 ㅋ

개의치말고 계속 개발 ㄱㄱ

 

 

3. Google Indexing API 사용해보기

필요할 라이브러리 설치하고

pip install google-auth google-auth-oauthlib google-auth-httplib2 requests

 

JSON으로 다운받은 키를 저장해주고

 

 

VSCode로 넘어와서

아래 코드를 작성해주고 실행시켜보자

import json
import requests
from google.oauth2 import service_account
from google.auth.transport.requests import Request

def get_access_token(service_account_file):
    credentials = service_account.Credentials.from_service_account_file(
        service_account_file,
        scopes=["https://www.googleapis.com/auth/indexing"]
    )

    credentials.refresh(Request())
    return credentials.token

def index_url(service_account_file, url, action):
    access_token = get_access_token(service_account_file)

    endpoint = "https://indexing.googleapis.com/v3/urlNotifications:publish"
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {access_token}"
    }

    payload = {
        "url": url,
        "type": action
    }

    response = requests.post(endpoint, headers=headers, json=payload)

    if response.status_code == 200:
        print("Indexing request successful.")
    else:
        print(f"Failed to send indexing request: {response.status_code}")

    return response.json()

if __name__ == "__main__":
    
    service_account_file = "./mykey.json"

    action = "URL_UPDATED"

    url = "https://pythoncodinguniversity.tistory.com/entry/%ED%8B%B0%EC%8A%A4%ED%86%A0%EB%A6%AC-%EB%B0%B1%EC%97%85-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EA%B0%9C%EB%B0%9C%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4-URL-%EB%94%B8%EA%B9%8D-%EB%81%9D-%E3%85%85%E3%84%B1%E3%85%87"
    
    response = index_url(service_account_file, url, action)
    print(json.dumps(response, indent=2))

 

요청해보고 내 Service Account의 Metrics 들어와보니 1개 요청이 잘 되었다고 함

ㅎㅇ

 

 

 

네이버 색인 요청, 구글 색인 요청하는 코드는 다 만들었으니까

이제 .. GUI에 붙일 수 있는 형태로 만들면 끝 !