정보마당

파이썬을 이용해 네이버 수집현황 목록 조회

IT(Idea Technology) 흑기사 2024. 9. 29. 16:07

네이버의 수집현황 상태를 조회하려면, 네이버 웹마스터 도구 (네이버 서치 어드바이저, Naver Search Advisor)의 API를 사용해서 확인이 가능했고 이를 통해 웹사이트의 수집 현황을 파악할 수 있었습니다. 티스토리를 운영하고 있고 잘 이용을 하다가  어느순간부터 네이버 수집현황 상태가 보이지 않습니다. 오늘은 최근 변경된 UI 로 인해 수집상태가 확인이 안되는 부분을 파이썬을 이용해서 확인해 보도록 하겠습니다.

 

파이썬

 

 

수집상태 단건 조회

 

 

먼저 네이버 서치어드바이저에 들어가서 사이트 목록을 볼 수 있습니다.

 

 

👉네이버 서치어드바이저 들어가기

 

이전에는 사이트에 들어가서 수집 요청 내역을 확인해 보면 수집요청중,수집보류,수집완료등 포스팅에 대한 수집 상태를 확인할 수 있었는데 최근에 UI가 바뀌면서 상태 확인이 안되고 있습니다.

네이버 수집현황 웹페이지 수집

 

네이버에서 내 글이 색인수집이 완료되었는지를 알아보는 방법은 간단합니다.

바로 site:자기 티스URL 찾고자하는 글 제목 형식으로 네이버 검색사이트에서 조회를 해보면 됩니다. 그러면 아래와 같이 수집이 완료되었으면 해당 글 제목에 대한 내용이 확인이 되며 색인이 안되어 있으면 글이 나오지 않습니다.

 

네이버 색인

 

 

글이 하나만 존재하면 이런식으로 하면 되겠지만 글을 하루에 4개 포스팅하거나 글을 계속 쌓으면 하나하나 하기가 힘들다보니 어느순간 포기하게 됩니다.이때 저는 파이썬을 이용해서 편리하게 엑셀로 수집현황을 관리하고 수집이 안된 내역은 다시 신청을 하고 있습니다.

 

먼저 엑셀 파일의 예를 한번 보도록 하겠습니다.

 

아래와 같이 형식으로 결과가 엑셀로 표시가 되는데 검색어는 검색하고자 하는 자신의 사이트의 글제목으로 생각하면 됩니다. 

글제목 글 등록 날짜 링크 URL 성공여부 검색어
날씨 예보 등록일 https://a.tistory.com/20 성공 site:https://a.tistory.com 날씨 예보

 

아래는 파이썬으로 수집현황을 돌린 파일의 예입니다. 실패한 목록은 잘 눈에 띄게 하기 위해서 노랑색으로 실패라고 명시했습니다.

네이버 수집현황 엑셀결과

 

그럼 파이썬을 이용해서 위의 작업을 한번 해 보겠습니다. 이를 위해서는 두가지의 선행작업이 필요합니다.

 

1). RSS 갯수 설정

 

 

먼저는 티스토리 관리자로 들어가서  RSS피드받을 글의 갯수를 명시하는것인데 이는 저 같은 경우 최근 글 50개만 수집상태를 확인하겠다라는 의미입니다. 만일 글 10개까지만 네이버 수집현황을 보고 싶다면 10으로 설정하면 됩니다.

티스 관리자 화면

 

2). 오픈 키 발급

 

 

네이버 개발자 센터에서 네이버 오픈 API를 이용할 수 있도록 api 키를 발급받아야 합니다. 키를 발급받고 나서 여러가지 네이버의 서비스를 api를 통해서 이용이 가능합니다.

 

네이버 개발자 센터 바로가기

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

 

 

현재 저는 두개의 Application을 이용하고 있으며 각각의 역할별로 나눠서 수행을 하고 있습니다.

 

 

👉네이버 API 애플리케이션 등록하러 가기

 

application 명

 

참고로 이용방법에 관해서는 Documents 탭을 보시면 정확하게 어떤것을 이용할 수 있는지를 알 수 있으며 지금 저희가 이용하고자 하는 api는 네이버 검색의 웹 문서결과를 반환하는  api 입니다. 이를 이용해서 파이썬으로 개발을 시작해 보도록 하겠습니다.먼저 네이버에서 제공하는 예제를 보면서 확인해보시는것이 좋을것 같아 URL을 알려드립니다.

 

검색 API 블로그 검색 파이썬 구현 예제

 

검색 > 블로그 - Search API

검색 > 블로그 블로그 검색 개요 개요 검색 API와 블로그 검색 개요 검색 API는 네이버 검색 결과를 뉴스, 백과사전, 블로그, 쇼핑, 웹 문서, 전문정보, 지식iN, 책, 카페글 등 분야별로 볼 수 있는 API

developers.naver.com

 

우리가 사용할 api에 대한 설명과 검색관련해서는 Documents에 비로그인방식 오픈 API를 보시면 이해가 될것입니다.

open api 이용방법

 


우리가 이용하고자 하는 api를  잠깐 살펴 보겠습니다.

먼저 요청url에 반환형식이 XML,JSON 둘중에 어떤것으로 받을것인지 타입을 결정하게 됩니다. 

api 요청 url

 

그리고 파라미터 부분에 검색어와 검색결과 개수를 몇개 가져올 지 알려줍니다.

api 파라미터

 

이렇게 api를 실행하면 아래와 같이 가져올 수 있습니다.

api 결과값

 

웹문서 검색 API 레퍼런스 

 

검색 > 웹문서 - Search API

검색 > 웹문서 웹문서 검색 개요 개요 검색 API와 웹문서 검색 개요 검색 API는 네이버 검색 결과를 뉴스, 백과사전, 블로그, 쇼핑, 웹 문서, 전문정보, 지식iN, 책, 카페글 등 분야별로 볼 수 있는 API

developers.naver.com

 

 

 

파이썬을 이용해서 프로그래을 해 보도록 하겠습니다. 그렇게 어렵지는 않습니다. 먼저 수집현황목록울 엑셀로 관리할 티스토리 주소를 List로 가져옵니다.

 

open api List 목록

 

그리고  개발자 센터에서 받은  api 키를 헤더에 넣기 위해서 변수설정을 합니다. 이 헤더값은 open api를 연결할때 get 방식에서 header값으로 사용됩니다.

 

api 변수설정

 

이제 rssUrlList의 데이터를 읽어오면서 실제 포스팅되고 있는 글을 가져오도록 하겠습니다.

rsslist

 

실제 위의 작업은 크롬 개발자도구에서 실행을 하면 아래와 같이 나오는 부분을 프로그램화한것으로 보면 됩니다.

즉 https://a.tistory.com/rss를 크롬에서 돌리고 Network부분을 보면 결과값이 item List 형식으로 보여집니다.

network

 

이제 목록을 읽어가면 네이버 웹 검색 api를 이용해 site 티스토리 주소 글 제목 순서대로 api를 실행하면 됩니다.

 

티스 주소

 

 

 

여기서 궁금합니다. 그럼 수집이 완료된 것은 어떻게 확인할 수 있을까요? API를 실행하면 결과가 LIst형식으로 나오는데 이 List형식의 url과 RSS에서 조회한 url이 같으면 수집이 되었다라고 볼 수 있는거죠..

 

링크 조회

 

 

즉 도표로 보면 왼쪽이 rss 결과물이고 오른쪽이 api결과물일때  link가 같다면 실제 수집이 성공된 상태로 보면 됩니다.

 

파이썬 비교

 

이후에 pandas를 이용해 결과를 저장하면 위의 엑셀파일을 만들 수 있습니다.

 

설명이 부족했거나 궁금한점은 댓글을 남겨주세요

 

수집상태 단건 조회