最終更新日:2020/07/22

2020年3月更新:
DAINOTE公式、Python学習サービスを公開しました!

DAINOTE
初学者でも挫折しないような、前提知識が網羅された学習ルートマップに沿って、作ってみたいアプリをベースに、ルートを選んでみましょう。

 

こんにちは、DAIです。

はじめてPythonを学習する人は、プログラミングを学習する際にどこから手を付けたらいいかよくわからないかと思います。僕自身も始めたときに、

  • 何を学べば自分のやりたいことができるんだろう?
  • 教材を自分で選んでみたけど、自分のレベルにあってなくて全然意味が分からなかった!

とつらい経験をした覚えがあります。

そこで、今回は初心者が簡単にPythonを学べるようなチュートリアルを解説していきたいと思います。具体的には、

  • Pythonの基礎
  • Pythonを使ったWeb APIの利用方法
  • Pythonを使ったスクレイピングの方法
  • Pythonを利用したWebアプリの作成方法
  • Pythonを利用した自動化プログラムの組み方

などについて、まとめていきます。

この記事の対象

  • Pythonでプログラミング学習を進めてみたいと思っている人
  • 効率よく、Pythonを学んでみたいと思っている人
  • Pythonで実用的なことをしてみたいと思っている人

Pythonって何ができるの?

Pythonは、プログラマー以外の人でも書けるように設計されている、可読性の高い言語です。以下のことができます。

  • Pythonでスクレイピングという技術で、自動でネット上のデータを取得することができる
  • PythonでAPIという技術を利用すれば、普通だと取得できない他人のツイッターのデータを取得して分析することができる
  • Pythonを使えば、データの加工をエクセルより簡単にすることができる
  • Pythonを使えば、データ分析ができる
  • PythonはAIで機械学習やディープラーニングができる
  • Pythonを使えば、Webアプリを作ることができる

詳しくはこちらの記事も読んでみてください!

> 【保存版】今話題のPythonでできることを、プログラミング未経験者でもわかるようにまとめてみた

Pythonを学ぶなら、書籍のほうがよい?インターネットで学ぶほうがよい?

先に大事なことですが、初心者であれば書籍よりもインターネットの教材で学ぶことをお勧めします。理由としては以下2点です。

  • 技術の進歩が速いので、すぐに本に書いてあることが時代遅れになってしまう
  • 技術書は基本的に高い割には、難解な言葉で書かれていることが多い

個人的にはインターネットで学んだほうがよいと思っているので、インターネットで学べる教材についてご紹介します。

Pythonを学ぶなら、無料の教材でよい?

Pythonの記事はネット上に無料でたくさんまとまっています。また、最近だとProgate等、初心者でも相当わかりやすいサイトがたくさん存在するので、無料のサイトを使うのがよいと思います。とはいえ、例えば

  • Webアプリを作りたい!
  • データ分析をしっかり学びたい!
  • Web APIを使って業務効率化をしたい!

みたいな場合だと、内容も濃くなってくるので、情報量が多い有料の書籍、またはチュートリアルで学ぶのがよいと思います!

STEP1 まだPythonに触れたことがない人 → まずはPythonの基礎を学ぼう

まだPythonを学んだことがない人は、基礎から学びましょう!

まずはPythonの基礎を学びましょう。なんの応用をやるにしても、基礎を学習する必要があります。
実際にコードを書くときに、

  • 文字列等の基本的な型の知識
  • if文
  • for文
  • while文
  • 関数文
  • クラス

などはしっかりと理解しておく必要があります。

Pythonの基礎を学べるサイト

 

Python の基礎を学ぶにはProgateが一番おすすめです。

Progateがおすすめな理由は

  • オンライン上で環境構築を一切する必要がなく、ブラウザで学べる → どのPCでもインターネットさえ開けば学べる
  • エラーが初心者用にわかりやすくなっているので、Progateで学べば自己解決する力がつきやすい

からです。個人的には書籍などで学ぶよりも、実際にコードを書いて学んだ方が効率的だと思います。まずはプロゲートを使って Python の基礎を学びましょう。

無料のコースだけでも十分学ぶことができます。Progateの

  • PythonⅠ
  • PythonⅡ
  • PythonⅢ

あたりはマスターできるようにしておきましょう。ここがすべての基礎となります。

> ProgateでPythonを学ぶ

Webアプリ、スクレイピングを学びたかったら、HTML、CSSを学ぼう

Pythonの基礎が身につき、今後後述するWebアプリ、スクレイピングを学びたかったらHTMLとCSSを学びましょう。

HTMLとは

HTMLとは、Webページの文章や、リンクなどを設定する言語となります。たとえば、僕がこのページに「Googleへアクセス」というリンクを張る場合、HTMLで書くとこのようになります。


<a href="www.google.com">Googleへアクセス</a>

 

ほかにもただの文章を書く場合は、このようになります。


<p>たたの文章を書く場合は、このようにpタグで書こうとHTML上で書くことができます</p>

 

つまり、HTMLとは簡単にいうと、Webページの内容を直接記入する言語なのです。

CSSとは

CSSは、HTMLを装飾する言語です。例えば、さきほどHTMLで以下のような文を作成しました。

<p>たたの文章を書く場合は、このようにpタグで書こうとHTML上で書くことができます</p>

また、背景色を黒にしたい場合は、CSSで書くとこのようになります。

p {color:red; background-color:black}

このように、CSSはHTMLを修飾する言語になるわけですね。

Web上の文書を記述するプログラミング言語なのですが、これがわかると後述するスクレイピングという技術を利用する際に、理解しやすくなります。

> ProgateでHTML, CSSを学ぶ

STEP2 データの自動収集がしたかったら、PythonでWebスクレイピングを学ぼう

Python の基礎を学んだら次は Web スクレイピングを学んでみましょう。

Webスクレイピングとは?

Web スクレイピングは、Web上からデータを取得する技術のことです。

例えばこんなことができるようになります。

  • EC サイトの在庫データやチケット情報の確認などを全て自動化して確認
  • 営業名簿を作るために、Web上のデータから5分で1万件のデータを自動収集し、CSVにエクスポート
  • 商品の売り切れを自動でbotがクロールして、売切れたらメールで通知

かなり便利ですよね。

Webスクレイピングをできるようになるためには、どのような知識が必要?

Webスクレイピングを身に着けるには

  • Pythonの基礎知識 ※学習済み
  • HTML、CSSの基礎知識 ※学習済み
  • Pythonの環境構築能力
  • PythonでHTTP通信ができるRequestsの利用方法
  • Pythonで取得したHTMLデータを整形できるBeautifulSoupの利用方法
  • PythonでBeautifulSoupで整形したデータをCSVにエクスポートできるPandasの利用方法

Pythonの環境構築とは?

Progateでは、オンライン上のエディタを利用すれば、Pythonが実行できるのですが、そうではない場合は自身でPythonが動作する環境を作る必要があります。
環境構築をする方法は大きく分けて二つあって

  • 自身のパソコンにPythonを実行できる環境を構築する
  • Pythonが実行できるWeb上のサービスを利用して、Pythonを動作させる

という方法があります。ゼロからPythonの環境構築をするのは、少し難しいかもしれません。ですので、初心者であれば、後者の方法を使うのがよいと思います。
Web上でPythonの実行環境が整えられるサービスとしてはGoogle Colaboratoryをおすすめします。以下の画像のような感じで、簡単にWebからPythonを実行できるようになります。

 

PythonでHTTP通信ができるRequestsとは?

Requestsは、オンライン上で、 Web サイトと通信して情報を取得したり送信したりすることができるようになるライブラリです。例えば、あるURLから記事のデータを取得するようなコードはこんなシンプルなコードになります。

〇BeautifulSoupとは

BeautifulSoupとは、ネット上から取得した Web ページの文章 html を整形し自分が欲しいような情報の形で取得することができるライブラリです。
よく使われるパターンとしては、RequestsでWeb上のデータを取得した際に、そのデータをBeautifulSoupで整形する感じですね。

〇Pandasとは

Pandasは、取得したデータを行列で扱うことができるライブラリです。Pandasを使えば、 逆に取得した CSV を読み込んでデータを加工することができます。Requestsでデータをとってきて、BeautifulSoupでデータを整形、最後にPandasでデータを処理してCSVにエクスポートすることができます。

 

〇スクレイピングを学ぶのにお勧めのチュートリアル

繰り返しますが、Webスクレイピングをするためには、

  • Pythonの基礎知識 ※学習済み
  • HTML、CSSの基礎知識 ※学習済み
  • Pythonの環境構築能力
  • PythonでHTTP通信ができるRequestsの利用方法
  • Pythonで取得したHTMLデータを整形できるBeautifulSoupの利用方法
  • PythonでBeautifulSoupで整形したデータをCSVにエクスポートできるPandasの利用方法

の知識が必要です。しかし、ほとんどのチュートリアルはこれらの知識を別々に学ぶことになるので、初学者にはなかなかイメージしづらいと思います。

そこで、すべての知識が一括ですべてが学べるチュートリアルを作りました。

①Pythonによるスクレイピング超絶入門

Requests、BeautifulSoup、Pandasを学ぶ場合、僕が創ったPythonによるスクレイピング超絶入門 がかなりおすすめです。すでに200人以上の方が利用されているチュートリアルとなります。相当実践的な内容になっていて、

  • 実際に僕のブログからスクレイピング
  • さらに、取得したデータの記事名、URLをCSV

を、実際に少しずつコードを書きながら学んでいきます。こちらはPythonによるスクレイピング超絶入門 の一部となっていますが、こんな感じでコードを一つ一つ細かく紹介して学習できるようになっているので、おすすめです。中身はこんな感じですね!

 

Pythonによるスクレイピング超絶入門は、本当に初心者でも簡単にわかるように、説明を一切省かないでわかるように書いたので、かなりご好評をいただいております。実際にそれどおりにやってできた!というご報告もいただいていますね!

 

 

 

 

 スクレイピング② ブログのカテゴリから、「次へ」が存在する全ての記事を自動収集してみよう

また、上級編として、複数のページを自動遷移して、スクレイピング をするチュートリアルもあります。

  • ブログページのカテゴリから、全ての記事をCSVに保存

といった処理を、簡単なコードで実装できるようになります。

最初のスクレイピング を学んだ方には、ぜひこちらも進めていただくのがおすすめです。無料です。

STEP3 データ分析を学ぼう

次に Python を利用してデータ分析を学ぶ方法です。データを取り扱う上での必要なライブラリは、Pandas, Matplotlibです。

Pandasとは

Pandasは、データの加工に加えて、簡単な統計も扱うことができます。例えば、各変数間の相関係数を取得したり、データの要約を行うことができます。

Matplotlibとは

Matplotlibは、 Python 上でデータをグラフに描画するツールです。例えば折れ線グラフやヒストグラム円グラフ棒グラフなどをプログラミングで作成することができます。

Pandas, Matplotlibの基礎を学ぶおススメのチュートリアル

①AidemyのPandas

AidemyではPandasを用いたデータ処理を学習できます。

②AidemyのMatplotlib

また、同様にMatplotlibによるデータの可視化についても学ぶことができます。

データ分析でお勧めのチュートリアル

① 【ソーシャルメディアのデータ分析①】Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!

Pythonでデータ分析してみよう
Twitterのデータを利用して、もっともリツイートされやすいツイートの特徴を分析します。

Twitter上のツイートのデータを分析して、どういうツイートがリツイートされやすいのかを分析したチュートリアル「Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!」を作りました。このチュートリアルで学べるのは

  • Pandasを利用して、ツイートのデータの前処理を行う
  • ツイートのデータをもとに、PandasやMatplotlibを利用して、拡散されやすいツイートのデータを相関係数等を用いながら分析する

ということをやっています。

  • 実際の生のデータを利用して分析してみたい
  • 実際にデータを分析する流れを抑えておきたい

という方には、ぜひ読んでいただきたいチュートリアルです。

Pythonでデータ分析してみよう
Twitterのデータを利用して、もっともリツイートされやすいツイートの特徴を分析します。

STEP4 Webアプリを作ろう

さて、次にPythonでWebアプリを作るために必要な基礎知識を身につけましょう。

Python で WEB アプリケーションを学びたい人は、以下の項目を学習しましょう。

  • HTMLCSS
  • JavaScript
  • jQuery
  • Bootstrapを学びましょう。
  • Pythonのマイクロフレームワークである、Flask

HTMLとは

HTML は、 Web 上の文字や表などを記述する言語です

CSSとは

CSS は、 HTML の色を変えたり配置を変えたりすることができる言語です

JavaScriptとは

JavaScriptは、 Web ページでクリックしたときに文字の色を変えたりすることができる言語です。

jQueryとは

jQuery JavaScript をより簡単にしたフレームワークになっています。

これらは皆プロゲートで学ぶことができます。是非最初にこれらのコースをクリアしてみてください。ここまでができると、データのやり取りが必要のない、簡単な Web ページを作ることができるようになります。

> ProgateでHTMLを学ぶ

> ProgateでJavaScriptを学ぶ

> ProgateでjQueryを学ぶ

BootStrapとは

BootStrapは、CSSのフレームワークであり、より簡単にWebページのデザインができるフレームワークとなります。

次に、Python の web フレームワークFlaskを学んでみましょう。

Flaskとは

Flaskは、 Python 上で Web アプリケーションを作ることができるマイクロフレームワークです。あるページにアクセスした時に、ある特定のページを見せることができるような処理を行うことができます。

PythonでWebアプリを作る際のお勧めのチュートリアル

①Flaskチュートリアル – Pythonでツイッターの分析ツールを作ってディプロイしよう!(動画つき!)-

PythonでWebアプリを作ろう
TwitterのAPIを利用して、Twitterのデータ分析アプリを開発します。

Flaskチュートリアル では、以下のことを学びます。

  • Twitter APIに連携して、アカウントのいいね数とフォロワー数を取得
  • それをWebアプリとしてグラフで分析できるサイトの作成

完成したもののイメージは、こんな感じになります。

 

Twitter のデータを取得してそのデータをもとにより評価されたツイートを分析することができるアプリケーションです。このチュートリアルに従って実際にアプリを作ってみると学びが深いと思います。

こちらも無料の部分はしっかり見れるようになっているので、ぜひ読んでみてください!

「Flaskチュートリアル」を学ぶ

また、AIを利用したWebアプリを作ってみたい方は、こちらの記事も参考にしてみてください!

> AIアプリの作り方を初心者向けにゼロから解説してみた

STEP5 Web APIアプリを作ろう

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

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

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

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

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

ということで、外部のアプリの機能を自分のアプリに取り入れたりすることができるわけですね。

Pythonを利用したWeb APIのチュートリアル

PythonでWeb APIを学ぶための基礎的なチュートリアルは、PythonによるWeb API入門(1) AKBの画像を5000件API経由でダウンロードするがおすすめです。

このチュートリアルでは

  • AKB48の120人分の画像を
  • Bing Search APIを利用して、5000枚自動取得し
  • 最終的にCSV形式に保存する

といったことが学べるチュートリアルとなります。

はじめてWeb APIを利用してみたいという方には非常におすすめできます。

≫PythonによるWeb API入門(1) AKBの画像を5000件API経由でダウンロードする

よりPythonを本格的に学びたい人へ

Pythonを利用して、AIや機械学習を実務でも使えるレベルにしたいという方は、プログラミングスクールがおすすめです。

Aidemy Premium Plan


Aidemy(アイデミー)は、「Python特化型AIプログラミングスクール」です。

PythonやAIの学習を専門としているスクールなので、講座や教材は高品質なのが特徴です。

3ヶ月の短期集中でPythonを習得できる「Aidemy Premium Plan」では、未経験でも、ディープラーニングやAIの基礎からはじめ、アプリ開発にいたるまでの最先端技術を学びます。

今回の記事で紹介した、スクレイピングの講座なども公開されていので、気になる方は以下記事から実際の卒業生の声をチェックしてみて下さい。

Aidemyの口コミ・評判は?卒業生に徹底インタビューしてみた
Aidemy Premium Planをチェック

AIエンジニアのプログラミングスクールに関しては、以前AIのプログラミングスクールについてまとめた記事があるのでこちらを参考にしていただけるとと思います。

また、プログラミングスクールに行くほどではないけど、独学に使えるわかりやすいサイトが知りたい方は、PyQがおすすめです。

PyQ (パイキュー)

PyQでは、完全オンラインでこの記事で紹介したようなスクレイピングやWeb APIの学習をすることができます。

実際に試してレビューをしてみたので、こちらの記事も参考にしてみて下さい。

評判のよかったPyQを実際に試してみたら、予想以上によかったので感想を書いてみた

また、PyQではプログラミング経験が全くない方向けの新コース「Pythonプログラミングをはじめよう」が公開されました!

こちらのコースは、プログラミングに全く触れたことがない方でも、ストーリー形式でスキマ時間に自分のペースで学習ができるコースになっています。

Aさん
プログラミング初心者なのに、いきなりスクレイピングやWebアプリの作成は難しそう…

という方でも、PyQなら初心者レベルから実務レベルまで学ぶことができるます。

プログラミング学習で挫折したくない…という人はぜひチェックしてみてください!

PyQの公式ホームページを見てみる

ここでご紹介したプログラミングスクールは、すべてインタビュー記事を書いておりますので、ぜひ参考にしてみてください!

最後に

Python の基礎を学びの の基礎を学びその上で応用を学ぶ道筋を解説しました。実際に作りながら学ぶのが一番効率的なので、是非基礎を学んだらすぐに応用に、勇気を出してチャレンジしてみましょう。最後に紹介したチュートリアルをすべてまとめておくので、気になったものをぜひ読んでみて下さい!

Pythonによるスクレイピング超絶入門

≫PythonによるWebスクレイピング 実践編 – Google検索の結果から、アフィリエイトコードが入っている記事を抜き出す –

≫【ソーシャルメディアのデータ分析①】Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!

Flaskチュートリアル 

《Python初心者向けの、超実践的なチュートリアル》

▼このサイトで人気のあるトップのチュートリアルはこちら!