티스토리 포스팅 후 네이버 검색엔진에 노출되게 하기 위해서는 네이버 서치어드바이저에 수집요청을 해야 합니다. 네이버 서치어드바이저에 수집 요청 내역에 처리결과가 이전에는 수집요청, 수집보류, 수집성공이렇게 상태확인이 가능했는데 어느순간 요청한 글에 대한 처리결과가 나오지 않고 있습니다. 하나하나 수동으로 확인하는 방법도 있지만 그렇게 하기엔 시간도 아깝고 해서 파이썬을 이용해서 수집결과를 수집해 보려고 합니다. 파이썬의 기본기능과 함께 네이버 오픈 API에 대한 살짝만 알고 있으시면 누구나 가능합니다.
이전에는 처리결과가 아래와 같이 확인이 되었었습니다. 그렇다보니 수집이 보류된 부분은 어떻게 처리를 해야 할지를 문의하고 테스트 하곤했지요. 저도 수집보류에 관해서 무척 고민했었습니다.
그리고 어느순간 아래와 같이 URL과 등록일만 존재하고 요청한 포스팅 처리결과는 확인이 불가능하게 되었습니다.
네이버 서치어드바이저 이용방법과 네이버 OPEN API 사용법 그리고 단건이 아니라 다건을 조회하는 목록조회 하는 방법은 아래를 참고하세요.
*수집상태 다건 조회와 네이버 OPEN API를 알려드립니다.
먼저 네이버 검색창을 띄워서 네이버에서 단건에 관해서 수집이 되었는지를 확인해 보겠습니다.
네이버에서 내 글이 색인수집이 완료되었는지를 알아보는 방법은 간단합니다.
바로 site:자기 티스URL 찾고자하는 글 제목 형식으로 네이버 검색사이트에서 조회를 해보면 됩니다. 그러면 아래와 같이 수집이 완료되었으면 해당 글 제목에 대한 내용이 확인이 되며 색인이 안되어 있으면 글이 나오지 않습니다.
이 개념을 파이썬으로 구현하는것입니다. 셀레늄으로도 가능하겠지만 구지 이런경우 동적인 조회가 아니다보니 네이버에서 제공하는 open api를 이용해서 웹상에서 조회를 위의 프로세스를 중심으로 구현하면 됩니다.
간략하게 설명을 드리면 네이버 검색의 웹 문서 검색 결과를 XML 형식 또는 JSON 형식으로 반환합니다. 그래서 조회할때 어떤 형식으로 결과값을 받을지도 정의를 해 줘야 합니다.
요청 URL
요청 URL | 반환 형식 |
https://openapi.naver.com/v1/search/webkr.xml | XML |
https://openapi.naver.com/v1/search/webkr.json | JSON |
파라미터
파라미터를 쿼리 스트링 형식으로 전달합니다.
파라미터 | 타입 | 필수 여부 | 설명 |
query | String | Y | 검색어. UTF-8로 인코딩되어야 합니다. |
display | Integer | N | 한 번에 표시할 검색 결과 개수(기본값: 10, 최댓값: 100) |
start | Integer | N | 검색 시작 위치(기본값: 1, 최댓값: 1000) |
이렇게 요청을 하게 되면 XML이나 JSON 형식으로 결과값이 나오는데 그중에 지금 이용하고자 하는 부분만 알아보면 total값을 조회하면 결과데이터가 있는지 없는지를 확인가능합니다.
곧바로 소스를 확인해보겠습니다. 먼저 네이버 api를 이용하기 위해서 Application을 등록하면 id와 secret키가 발급이 됩니다. 그 부분을 변수로 지정을 해 줍니다.API를 요청할 때 다음 예와 같이 HTTP 요청 헤더에 클라이언트 아이디와 클라이언트 시크릿을 추가해야 합니다.
그리고 나서 site: 명령어를 사용하기 위해 사이트 URL과 검색하고자 하는 검색어를 변수설정을 합니다.
네이버 웹 문서 api를 이용해서 아래와 같이 HTTP 요청을 보냅니다.
이렇게 요청을 하게되면 결과값에서 total갯수를 판단해서 수집상태를 확인할 수 있습니다.
파이썬 소스를 보면 아주 간략하면서도 간단하게 정의하고 조회할 수 있어서 저는 파이썬을 자주 이용하고 있습니다. 도움이 되셨으면 합니다 감사합니다. 궁금한점은 댓글로 남겨주세요