【첫 API】Python으로 Qiita 기사를 취득해 본다
소개
처음 API를 두드렸기 때문에 개인적 비망록으로 남깁니다.
이번은 데이터 취득까지 밖에 하고 있지 않습니다만, 어느 쪽은 여러가지 해 보고 싶습니다.
액세스 토큰 얻기
Qiita API를 사용하려면 액세스 토큰을 얻습니다.
액세스 토큰은 API 사용자인지 여부를 결정하는 라이센스와 같습니다.
발행 방법입니다만, 우선은 Qiita의 자신의 페이지에 액세스 해,

위 화면 설정에서 설정 화면으로 이동하여,

애플리케이션 클릭

나는 이미 발행하고 있지만 개인 액세스 토큰에서 액세스 토큰을 발행합니다.
임의의 영숫자 열이 표시되므로 반드시 메모하십시오.
커맨드 라인으로 동작 확인
명령줄에서 curl 명령을 사용하여 먼저 검색할 수 있는지 확인합니다.
curl -s -H "Authorization: Bearer <先ほどのアクセストークンの値>" https://qiita.com/api/v2/authenticated_user/items
C:\>curl -s -H "Authorization: Bearer <アクセストークンの値>" https://qiita.com/api/v2/authenticated_user/items
[{"rendered_body":"\n\u003ch2\u003e\n\u003cspan id=\"はじめに\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eはじめに\u003c/h2\u003e\n\n\u003cp\u003e個人的備忘録として発信しています。\u003c/p\u003e\n\n\u003ch2\u003e\n\u003cspan id=\"起きたこ と\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E8%B5%B7%E3%81%8D%E3%81%9F%E3%81%93%E3%81%A8\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e起きたこと\u003c/h2\u003e\n\n\u003cp\u003eリモートリポジトリにp・・・
길기 때문에 생략. . 그렇지만, 잡히고 있을 것 같습니다.
파이썬으로 구현하기
명령 기반으로 할 수 있었기 때문에 이것을 python을 통해 실행합니다.
조사하고 curl 명령을 python으로 변환하는 하나님의 도구를 발견했기 때문에 이것을 기반으로합니다.
(어라, 나 구현 같은 것 아무것도 하고 있지 않다..)
curl 명령을 python으로 변환하는 사이트
변환한 것을 조금 고쳐서 다음과 같이 되었습니다.
import requests
import json
import pprint
URL = "https://qiita.com/api/v2/items"
TOKEN = "<アクセストークンの値>"
HEADER = {
'Authorization': 'Bearer {}'.format(TOKEN),
}
response = requests.get(URL, headers=HEADER)
pprint.pprint(response.json())
pprint를 사용하여 조금 청소합니다.
실행해 보면
・・・
'title': '[Serverless Framework] yarn workspaceを使ったmonorepo',
'updated_at': '2020-12-28T19:26:14+09:00',
'url': 'https://qiita.com/allJokin/items/9316e5384a3bf7a4536b',
'user': {'description': None,
'facebook_id': None,
'followees_count': 0,
'followers_count': 0,
'github_login_name': 'allJokin',
'id': 'allJokin',
'items_count': 1,
'linkedin_id': None,
'location': None,
'name': '',
'organization': None,
'permanent_id': 600358,
'profile_image_url': 'https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/600358/8d5eba69a13ba6bef9ae50d23c9a1fa3e87b60ae/large.png?1607605958',
'team_only': False,
'twitter_screen_name': 'AllJokin',
'website_url': None}}]
・・・
잡히는 것 같습니다! !
보충
파이썬 3.8.0
requests 2.25.1
감상
API의 사양서를 전혀 이해할 수 없고, 기사 정보 전부 가져올 수밖에 없었습니다. .
한층 더 읽어들여, 잘 다룰 수 있게 되고 싶습니다.
그리고, 이번은 하드 코딩하고 있습니다만, config 관리하는 등도 생각해 가고 싶습니다.
다음은 아마존의 API에 도전하겠습니다.
Reference
이 문제에 관하여(【첫 API】Python으로 Qiita 기사를 취득해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shotanobukuni/items/173bb3ea72bb76f7dc9c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)