Splunk Curl App에서 Qiita의 페이지보기 수를 확인했습니다.

5062 단어 QiitaAPIcurlSplunk

개요



Qiita의 기사를 투고해 20건을 넘어 왔습니다만, 과거의 자신의 기사로 무엇이 읽혀지고 있는지 view수를 확인하고 싶었을 때에 qiita의 마이 페이지로부터는 단번에 확인하는 것이 할 수 없다. . 각 기사를 표시하면 소유자는 View 수를 확인할 수 있습니다만 여하튼 하나씩 확인할 수밖에 없습니다!

조사해 보면 Google Analytics와 연계할 수 있는 것 같고, 일일의 액세스수등은 확인할 수 있었습니다만, 과거의 데이터가 반영되지 않는다. . (즉 view 총수는 판단할 수 없다)

그래서 조사해 보았습니다.

그렇다면 Qiita API가있는 것처럼 curl을 사용하여 확인하는 파이센이 있다는 것을 알았습니다.
htps : // 코 m / 카이 _ 코 / ms / 3f10 93f4 아 3b57b2d0
htps : // 일 ck. 기주 b. 이오 / 포스트 / 0009 - 쿠타 쿠 rl /

같은 일을 해도 지루하지 않으므로 Splunk를 사용하여 데이터를 검색하고 확인하고 싶습니다. (특히 의미는 없습니다)

Splunk Curl App 설치



Splunk에서 Curl을 실행할 수 있는 앱이 있습니다. 이번에는 이것을 사용하여 Qiita API에 액세스해 보겠습니다.

Splunk Curl Command
htps : // sp ㎅ k 바세. sp ㎅ k. 이 m/아 p/4172/

앱 설치 절차는 생략하겠습니다.

Qiita API 준비



Qiita API 가 공개되어 있어 기사를 확인하거나 투고할 수 있는 것 같습니다.

여기에서는 자신의 게시물 기사에 액세스할 수 있도록 토큰을 발급합니다.

액세스 토큰 발급
htps : // 코 m / 세팅 gs / 토켄 s / w



이제 새 토큰이 발행되므로 잊지 않도록 어딘가에 복사하여 저장하십시오.
(나중에 토큰을 확인할 수 없으므로 요주의)

데이터 얻기



즉시 Curl SPL을 사용하여 데이터를 검색하고 싶습니다.
| curl  url="https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=100" \
 headers="{'Authorization': 'Bearer <<取得した Tokenを入力>> '}" \
 output=text

(*) output=json이라고 에러가 되어 버리므로, text로 취득했습니다.



이런 식으로 필드 추출도 이벤트 브레이크도 되어 있지 않은 상태이기 때문에 데이터를 가공합니다.
| curl  url="https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=100"  headers="{'Authorization': 'Bearer <<取得した Tokenを入力>>'}"  output=text
| makemv delim="rendered_body" reponse 
| mvexpand reponse
| where (reponse like "%title%")
| rex field=reponse "\"page_views_count\":(?<view>[\w\d]+)" 
| rex field=reponse "\"likes_count\":(?<like>\d+)"
| rex field=reponse "\"title\":(?<title>[\W\w]+),\"updated_at"
| rex field=reponse "\"created_at\":\"(?<create>[\d-]+)"
| rex field=reponse "\"id\":\"(?<id>[0-9a-z]+)"
| table view like title create id



어라? ? 중요한 view 가 null 값이 되고 있다. . 

분명히 각 페이지에 가지 않으면 view count를 얻을 수없는 것 같습니다. .

예를 들면 이런 식으로 url의 items의 뒤에 id를 추가한다.
| curl  url="https://qiita.com/api/v2/items/6c0d1f46c531a17f8671" headers="{'Authorization': 'Bearer <<取得した Tokenを入力>>'}"  output=json 
| table id title created_at page_views_count likes_count

(*) 왜인지, 각 페이지마다라면 output=json로 취득할 수 있었습니다.



드디어 획득



그래서 시행 착오하면서 어떻게든 한 번에 페이지 수를 얻을 수있었습니다.

이쪽을 복사해서 사용해 주시면, 똑같이 확인할 수 있을 것. (토큰만 변경하십시오)
| curl  url="https://qiita.com/api/v2/authenticated_user/items?page=1&per_page=100"  headers="{'Authorization': 'Bearer <<取得した Tokenを入力>>'}"  output=text
| makemv delim="rendered_body" reponse 
| mvexpand reponse
| rex field=reponse "\"id\":\"(?<id>[0-9a-z]+)"
| table id
| where isnotnull(id)
| map maxsearches=50 search="| curl  url=\"https://qiita.com/api/v2/items/$id$\" headers=\"{'Authorization': 'Bearer <<取得した Tokenを入力>>'}\"  output=json | table id title created_at page_views_count likes_count"



감상



리포트 기능으로 매일 취득해 보존해 가면, 액세스 추이가 보여 흥미롭다고 생각했습니다만, 그것은 또 기회에.

좋은 웹페이지 즐겨찾기