l3khub.com

블로그스팟 원클릭 검색엔진 색인요청 #9 - Bing Webmaster, Google Search Console 색인요청 소스 코드

이전편까지 구글과 빙 API 키를 사용하기 위한 설정 및 사용자 권한 부여방법 등에 대해서 알아보았습니다. 이번편에서는 Bing Webmaster와 Google Search Console에 색인을 요청하는 소스코드를 설명하도록 하겠습니다. 

빙웹마스터-구글서치콘솔-색인요청-소스코드

블로그스팟 원클릭 검색엔진 색인요청 #9 - Bing Webmaster, Google Search Console색인요청 소스 코드



검색엔진 수집요청 코드

다음으로 위에서 설정한 API  코드를 활용하여 자동으로 블로그스팟에 포스팅한 글을 색인 요청하는 프로그램을 작성해 보도록 하겠습니다. 

1. Bing Webmaster 색인요청 소스 코드

Bing Webmaster에 색인요청은 비교적 간단합니다 .
아래의 소스 코드가 Bing Webmaster에 새로 포스팅한 글을 색인요청하는 코드입니다. 여기서 new_ruls는 파이썬의 list 형식입니다. 

import requests

url = "https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=Your_bingwebmaster_API_code"

data = {
    "siteUrl": "https://your_blogspot_addr",
    "urlList": new_urls
}
response = requests.post(url, json=data)

위의 코드에서 Your_bingwebmaster_API_code, your_blogspot_addr, new_urls를 여러분의 것으로 변경하고 파이썬에서 실행한 후에 Bing Webmaster에 들어가서 확인하면 오늘 남은 할당량이 99 URL로 변경된 것을 보실 수 있으실 겁니다.

Bing-Webmaster에서-URL제출-결과확인

2. Google Search Console 색인요청 소스 코드

구글 서치 콘솔 색인요청은 빙 웹마스터와 비교하면 조금 복잡합니다. 

from oauth2client.service_account import ServiceAccountCredentials
from googleapiclient.discovery import build 
from googleapiclient.http import BatchHttpRequest
import httplib2
import json
  
requests = {
    'https:/your_blogspot_posting_link.html':'URL_UPDATED'
}

JSON_KEY_FILE = "your_json_name.json"
 
SCOPES = [ "https://www.googleapis.com/auth/indexing" ]
#ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish"
 
# Authorize credentials
credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY_FILE, scopes=SCOPES)
http = credentials.authorize(httplib2.Http())

# Build service
service = build('indexing', 'v3', credentials=credentials)
 
def insert_event(request_id, response, exception):
    if exception is not None:
      print(exception)
    else:
      print(response)
 
batch = service.new_batch_http_request(callback=insert_event)
 
for url, api_type in requests.items():
    batch.add(service.urlNotifications().publish(
        body={"url": url, "type": api_type}))
 
batch.execute()

위의 코드가 구글 서치 콘솔에 색인요청을 하는 코드입니다. 여기서 your_blogspot_posting_link.html 과 your_json_name.json 을 여러분의 것으로 변경하고 파이썬에서 실행을 시킨후 아래와 같이 notifyTime 나오면 정상적으로 실행이 된 것입니다. 

구글서치콘솔-색인요청-실행-결과

소스코드가 조금 복잡해 보이지만 색인요청할 링크와 JSON 파일만 위에서 설명드린 데로 만드셨다면 실행하는데는 어려움이 없으실 겁니다. 




To Top