PythonでWeb APIを利用し、データを収集する方法【おすすめのAPIも紹介します】

最終更新日:
Pythonが学べるプログラミング学習サービスおすすめランキング
【第1位】キカガク:本気でPythonプログラミングを学びたい人向けのプログラミングスクール。補助金で大幅に安く受けられる。
【第2位】Manajob: 無料で学べるノンプログラマー向けIT学習サービス。ブログのデータ収集から自動ログインまで学ぶことができます。
【第3位】Aidemy:上場企業でも取り入れられたAIプログラミングスクール。こちらも補助金あり。
【キカガク】最大70%OFF!給付金をもらってAI人材を目指すなら!
日本マイクロソフト株式会社との共同開発講座を受講可能。経済産業省が定めるReスキル、JDLAのE資格の認定講座受けるならキカガク!
【Manajob】オリジナルアプリを作れるようになるIT学習サービス
Webスクレイピングなどの業務自動化からWeb制作まで学ぶことができるサービスです。
【PyQ】Python特化のプログラミング学習サービス
Python特化のプログラミングサービスです。
【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

先に結論から。Youtubeのチャンネル登録をして、この動画を見ればPythonで自動化できることが分かりやすく解説しているので、これを見れば一発です。

※追記 2019年6月7日
これ以外にもプログラミングの解説動画があるので、ぜひ以下のリンクからチャンネル登録して、ほかの動画も見てみてください!

Youtubeでチャンネル登録して動画を見てみる

Pythonでは、Web APIを利用すると、データの自動収集ができるようになります。しかし、Web APIと言われてもよくわからないですよね。今回は、

  • PythonでAPIを利用する方法を知りたい。どうやったら呼び出すことができるの?
  • Pythonで使えるAPIってどんなものがあるの?
  • PythonのAPIを使えるようになるためには、どうすればよいの?

という疑問に答えられるよう、PythonでWeb APIを利用する方法について詳しくまとめていきたいと思います。

Web APIとは

Web APIとは、簡単に言うと、外部サービスの情報窓口です。

  • Twitterから自分のツイートをダウンロードしたい!
  • Instagramから、有名人の画像を一括ダウンロードしたい!

という場合に、Webブラウザ経由ではなく、HTTPという通信経由で、ツイッター内のデータにアクセスすることができます。

ちなみに、厳密にいうとWebブラウザを経由しているときは、HTTPという通信でデータを取得していますが、ブラウザなしでHTTPの通信をPython上で行うことで利用することができるのです。

 

Web APIが使えると、何が嬉しいの?

Web APIが使えると、何が嬉しいのかを簡単にまとめます。

  1. 自作のサービス上で、外部アプリケーションのデータを利用した、混ぜ合わせたアプリ(マッシュアップアプリ)を作れる
  2. 普通にブラウザでデータを収集すると、手動で「次へ」ボタンをクリックして全記事を確認しなければならないが、APIを利用すると、一瞬で可能
  3. Pythonで自動化プログラムを組めば、データの自動収集をブラウザではなくプログラムから実行できるので、ブラウザ操作しなくても放置するだけでデータの取得が可能

1に関しては、身近な例でいうと質問箱アプリです。例えば、

といったアプリは、TwitterにAPI連携しているからこそ、ツイッター上で自動投稿ができるわけですね。ほかにも、ツイッターの分析ツールである

等のアプリケーションは、Twitter上のデータを自動取得するために、APIを利用しています。

Web APIを提供しているサービス

Web APIを提供していて、有名なサービスは以下の通りです。

Twitter REST API

ツイッターが出しているAPIです。このAPIを使うと、こんなことができます。

  • 【データの収集】他人のツイートを自動でダウンロード
  • 【データの収集】検索キーワードをツイートした人のリストをCSVにエクスポート
  • あるキーワードについてつぶやいたツイートを自動でいいね、またはフォローする

ツイッターのAPIを利用してできることについては、こちらの記事をぜひ読んでみてください。

≫関連記事 Python Twitter APIを初心者向けに徹底解説してみた – フォロワー取得からハッシュタグ検索まで-

 

Instagram Graph API

インスタグラムも同じようにAPIを提供しています。しかし、無料で提供されいているものは個人のデータを取得することは可能ですが、他人のデータを取得することはできません。ですので、もし他人のアカウントのデータを取得したい場合は、法人用の申請を出す必要があります。

Google Search Console API

ブロガーや、SEO担当者だと使う可能性が高いのが、Googleの検索キーワードツールGoogle Search ConsoleのAPIです。自身のGoogle Search Consoleと紐づけたメディアの、こんなデータを取得できます。

  • 狙っているキーワードでの検索数
  • 狙っているキーワードの検索順位
  • 狙っているキーワードのクリック数

などが取得できます。(ちなみにこのデータをGoogle SpreadsheetにAPI連携して毎日自動取得とかできるので、超絶便利です!)

 

Slack API

チャットツールである、SlackにもAPIがあります。できることとしては

  • TwitterのAPIと組み合わせて、あるキーワードがツイートされたときに、Slack上で通知(社名での評判の可視化等)
  • 毎日取得したいニュース記事を、Slack上で自動通知

などができます。Web APIを通して、プログラムから情報を送信(POST)し、Slack側で投稿みたいなこともできるので、実はAPIはデータの取得だけできるのではなく、APIを通して、アプリを外部から操作することができるわけです。

Chatwork API

ChatworkもAPIを持っています。が、基本的にはSlackでやっていることはだいたいできるようです。

LINE Messaging API

こちらは、LINEにメッセージを送るBotを作れるAPIです。過去に僕はLINEに画像を送ると、自動でその画像を文字起こししてくれるアプリを作ったことがありますが、これもLINE Messaging APIを利用して作成しております。

Google Cloud Vision API

こちらは、機械学習のAPIです。画像を送ると、その画像が何なのかを特定して文字列で返してくれるAPIになります。こちらも、LINEに画像を送ると、自動でその画像を文字起こししてくれるアプリで利用しました。

≫【関連】 【AIプログラミング】LINEに画像を送ったら自動で文字起こししてくれる機械学習アプリを作ろう

Microsoft Cognitive Face API

こちらは、顔認識の機械学習APIです。このAPIに顔の画像を送ると、だれだかを学習してくれます。以前、女性の画像を送ると似ているAV女優を教えてくれるAI LINE Botを作りましたが、こちらもMicrosoft Cognitive Face APIを利用しています。

≫【関連】スケベAI「スケベ博士」をPythonとGoogle Apps Scriptで作るスケベ・チュートリアルを公開します

 

PythonでWeb APIを取り扱う方法

PythonでWeb APIを取り扱う方法ですが、以下2点です。

  1. Web APIの仕様書(APIリファレンス)を読んで実装する
  2. Web APIのラッパーライブラリを利用して利用する方法

Web APIの仕様書(APIリファレンス)を読んで実装する

基本的にエンジニアは、Web APIを利用する場合Web APIの仕様書を見て実装することが多いかと思います。
APIリファレンスは、初心者が読むとすこし難しいです。それは、

  • 基本的なHTTPにおける通信の理解
  • GET/POST/PUT/DELETEというアクションの理解
  • URLパラメーターの理解
  • インターネットの認証の仕組み(Basic認証, OAuth認証)の理解
  • JSON, XML等のデータの理解

が必要になってきます。ですので、これらの理解をした人ではないとちょっと難しい反面、後述するAPIラッパーライブラリを利用するよりも自由度の高い実装が可能です(ラッパーライブラリでは対応しきれていない操作などが可能です)

この場合は、PythonのHTTP通信のモジュールである、requestsというライブラリを利用して、基本的にはHTTPの通信を制御します。詳しくは、下記記事のPythonチュートリアルを読んでみてください。

Python初心者向けのチュートリアルまとめ

Web APIのラッパーライブラリを利用して利用する方法

もう一つが、Web APIのラッパーライブラリを利用する方法です。ラッパーとは、あるAPIでよく行う操作をまとめたライブラリのことで、これを使うとAPIのリクエストがAPIリファレンスを読むことなく、直観的にデータを操作することができます。

例えば、TwitterのPython用APIラッパーに、Tweepyがあります。Tweepyを利用すると、非常に簡単にツイッターのAPIをPython上で操作することができます。

Tweepyの利用方法については下記記事を参照してください。

≫ 関連 Python Twitter APIを初心者向けに徹底解説してみた – フォロワー取得からハッシュタグ検索まで-

Web APIの学習方法

Pythonを利用した、Web APIの学習方法については、こちらのチュートリアルをご覧ください!

Python初心者向けのチュートリアルまとめ

PythonでWeb APIを学びたい人におすすめのサービス

Web APIのことは分かったけど、実際どう使えばいいのかわからないという方にはキカガクがぴったりです。

キカガクは、プログラミングの基礎から応用までを網羅したプログラミングスクールです。

初心者や非エンジニアの方でも、Pythonの基礎から応用までしっかりと学習することができます。

DAI
また、無料体験では、合計20時間分の動画でPython・機械学習の基礎を学ぶことができます。この機会に活用しておくのがおすすめです。

キカガク

キカガク公式:
https://www.kikagaku.ai/

【キカガク】最大70%OFF!給付金をもらってAI人材を目指すなら!
日本マイクロソフト株式会社との共同開発講座を受講可能。経済産業省が定めるReスキル、JDLAのE資格の認定講座受けるならキカガク!

キカガクは、給付金をもらってお得に学習しながらAI人材を目指すことができる、完全オンラインのプログラミングスクールです。

DAI
特に、経済産業省が定めるReスキル、JDLAのE資格の認定講座などを受講できるため、キャリアアップを目指す方は必見ですね。

コースの特徴

オンライン動画学習サービス、Udemyでも絶賛された高品質の学習コンテンツ

引用:キカガク公式

キカガクの講座は、Udemyでも高い評価を得ており、1つのコースで35,000人以上が受講している講座もあります。

実際、受講した方の生の声を見てみても、非常にポジティブなものばかりでした。(受講された方のレビューはこちらから)

DAI
キカガクは大手企業の研修だけでなく、個人向けの講座でも高い評価を得ているのが分かりますね。

※また、キカガクは一度スクールに申し込むと、全ての講座を無期限で受講することができるのでかなりお得です。

実際の講座を受講前に体験することができる

キカガクでは、無料体験を申し込むだけでUdemy上で高い評価を得たコースを実際に体験することができます。

受講できるコースは以下の2つで、合計20時間分の学習動画無料になります。

  • Python&機械学習入門
  • 脱ブラックボックスコース
DAI
特に、脱ブラックボックスのコースはセールなしだと15,000円もするコースなので、まずは無料で機械学習や人工知能について学んでみたい!という方にもおすすめですね。

整理すると、キカガクは以下の方におすすめです。

  • まずは、スクールに行く前にAIや機械学習についてもっと詳しく知りたい
  • 将来的に仕事でデータサイエンスなどに関われるようになりたい
  • お得に資格取得をして、社内で更に活躍したい

※キカガクの講座の無料体験は、3分ほどですぐに学習を始めることができます

DAI
スクールに行くほどではないけどAIや機械学習に興味があるという方は、気軽に試してみるのがおすすめです。

【キカガク】最大70%OFF!給付金をもらってAI人材を目指すなら!
日本マイクロソフト株式会社との共同開発講座を受講可能。経済産業省が定めるReスキル、JDLAのE資格の認定講座受けるならキカガク!

Manajob

公式:https://www.manajob.jp

Manajobは、株式会社インディバースが運営する動画+テキストでIT系全般を学習できる越境型IT学習サービス。

  • Pythonを利用した自動化
  • Web制作

など、幅広いジャンルのコンテンツを、無料で学習することができます。

DAI
特に、非エンジニアの方が、はじめてITを学習して、業務効率化やオリジナルのアプリを開発したい!という方におすすめです。

実際に

  • ブログサイトのデータ収集
  • 自動ログインによる定期実行
  • データ分析
  • エステサロンのホームページ作成

など、ゴールから逆算して学習することができるのでおすすめです。

Manajobに無料登録して学習をはじめる

Aidemy

Aidemy(公式):https://premium.aidemy.net/

【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

Aidemyは、AIに特化した東大発のプログラミングスクールです。

東証一部上場企業のAI研修などもおこなっている、日本最大級のAI教育サービスを提供しています。

AIを本格的に学べるプログラミングスクールの中でも、非常にハイレベルで高品質のスクールです。

DAI
あなたの興味が以下2つのどちらかに当てはまるのであれば、Aidemyがおすすめです。
  • ある程度Web系のプログラミングを学んでいる
  • AIについて本格的に仕事にしたいと思っている

Aidemyでは、Pythonに特化した講座を8種類用意しています。

  • AIアプリ開発講座
  • データ分析講座
  • 自然言語処理講座
  • 実践データサイエンス講座
  • E資格対策講座
  • 機械学習マスター講座
  • ビジネスAI対策講座
  • 組織を変えるDX講座

各コースの金額は以下の通りです。

3ヶ月 6ヶ月 9ヶ月
AIアプリ開発講座 ¥528,000 ¥858,000 ¥1,078,000
データ分析講座 ¥528,000 ¥858,000 ¥1,078,000
自然言語処理講座 ¥528,000 ¥858,000 ¥1,078,000
実践データサイエンス講座 ¥528,000 ¥858,000 ¥1,078,000
E資格対策講座 ¥327,800
機械学習マスター講座 ¥528,000 ¥858,000 ¥1,078,000
ビジネスAI対策講座 ¥330,000
組織を変えるDX講座 ¥330,000

引用:https://premium.aidemy.net/(2023年4月時点。金額はすべて税込価格です)

DAI
実際に受けてみて満足できなかった場合、8日間以内であれば全額返金保証の対象になります。

また、雇用保険の支給要件を満たしている方であれば、以下4つの講座で教育訓練給付制度(専門実践教育訓練)を利用できます。

  • AI アプリ開発講座
  • データ分析講座
  • 自然言語処理講座
  • E資格対策講座

対象者であれば、実際に支払った受講料のうち最大70%を支給してもらえる制度です。

DAI
528,000円(税込)のコースで70%の支給なら、158,400円(税込)で受講できます。

引用:https://premium.aidemy.net/

Aidemyでは挫折しにくいサポートに加え、一部の講座では残りの受講期間を有意義に使える学び放題システムを利用することもできます。

丁寧なサポートを受けつつ、AIに特化した講座を受けたい方が学びやすいスクールです。

国の給付金を利用すれば安く受講できるので、興味のある方は対象者かどうか一度確認してみましょう。

DAI
Aidemyでは無料カウンセリングを実施中です。気になる方はぜひ受けてみることをおすすめします。

【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

    関連記事:もっと学習したい方向け

    【2020年最新】Pythonや機械学習を学べるプログラミングスクール厳選3つ
    【2020年】プログラミングスクールで受講者がおすすめした厳選6社を一挙解説【体験談まとめ】