네이버의 수집현황 상태를 조회하려면, 네이버 웹마스터 도구 (네이버 서치 어드바이저, 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를 통해서 이용이 가능합니다.
현재 저는 두개의 Application을 이용하고 있으며 각각의 역할별로 나눠서 수행을 하고 있습니다.
참고로 이용방법에 관해서는 Documents 탭을 보시면 정확하게 어떤것을 이용할 수 있는지를 알 수 있으며 지금 저희가 이용하고자 하는 api는 네이버 검색의 웹 문서결과를 반환하는 api 입니다. 이를 이용해서 파이썬으로 개발을 시작해 보도록 하겠습니다.먼저 네이버에서 제공하는 예제를 보면서 확인해보시는것이 좋을것 같아 URL을 알려드립니다.
우리가 사용할 api에 대한 설명과 검색관련해서는 Documents에 비로그인방식 오픈 API를 보시면 이해가 될것입니다.
우리가 이용하고자 하는 api를 잠깐 살펴 보겠습니다.
먼저 요청url에 반환형식이 XML,JSON 둘중에 어떤것으로 받을것인지 타입을 결정하게 됩니다.
그리고 파라미터 부분에 검색어와 검색결과 개수를 몇개 가져올 지 알려줍니다.
이렇게 api를 실행하면 아래와 같이 가져올 수 있습니다.
파이썬을 이용해서 프로그래을 해 보도록 하겠습니다. 그렇게 어렵지는 않습니다. 먼저 수집현황목록울 엑셀로 관리할 티스토리 주소를 List로 가져옵니다.
그리고 개발자 센터에서 받은 api 키를 헤더에 넣기 위해서 변수설정을 합니다. 이 헤더값은 open api를 연결할때 get 방식에서 header값으로 사용됩니다.
이제 rssUrlList의 데이터를 읽어오면서 실제 포스팅되고 있는 글을 가져오도록 하겠습니다.
실제 위의 작업은 크롬 개발자도구에서 실행을 하면 아래와 같이 나오는 부분을 프로그램화한것으로 보면 됩니다.
즉 https://a.tistory.com/rss를 크롬에서 돌리고 Network부분을 보면 결과값이 item List 형식으로 보여집니다.
이제 목록을 읽어가면 네이버 웹 검색 api를 이용해 site 티스토리 주소 글 제목 순서대로 api를 실행하면 됩니다.
여기서 궁금합니다. 그럼 수집이 완료된 것은 어떻게 확인할 수 있을까요? API를 실행하면 결과가 LIst형식으로 나오는데 이 List형식의 url과 RSS에서 조회한 url이 같으면 수집이 되었다라고 볼 수 있는거죠..
즉 도표로 보면 왼쪽이 rss 결과물이고 오른쪽이 api결과물일때 link가 같다면 실제 수집이 성공된 상태로 보면 됩니다.
이후에 pandas를 이용해 결과를 저장하면 위의 엑셀파일을 만들 수 있습니다.
설명이 부족했거나 궁금한점은 댓글을 남겨주세요
'정보마당' 카테고리의 다른 글
2024 이승윤 송도 콘서트 일정 및 티켓 예매 정보 안내 (0) | 2024.10.01 |
---|---|
인감증명서 서비스 인터넷 발급방법 안내 (0) | 2024.10.01 |
2024 문경사과축제 숙박 맛집 추천 주차장 안내 (0) | 2024.09.28 |
뮤지컬 지킬앤하이드 1차공연 일정과 예매 꿀팁 알아보기 (0) | 2024.09.25 |
영탁 단독 콘서트 강릉 일정과 예매 꿀팁 알아보기 (0) | 2024.09.25 |