Python初心者向けの実践的なチュートリアルまとめ
こんにちは、DAIです。
こんにちは、DAIです。
はじめてPythonを学習する人は、プログラミングを学習する際にどこから手を付けたらいいかよくわからないかと思います。僕自身も始めたときに、
- 何を学べば自分のやりたいことができるんだろう?
- 教材を自分で選んでみたけど、自分のレベルにあってなくて全然意味が分からなかった!
とつらい経験をした覚えがあります。
そこで、今回は初心者が簡単にPythonを学べるようなチュートリアルを解説していきたいと思います。具体的には、
- Pythonの基礎
- Pythonを使ったWeb APIの利用方法
- Pythonを使ったスクレイピングの方法
- Pythonを利用したWebアプリの作成方法
- Pythonを利用した自動化プログラムの組み方
などについて、まとめていきます。
目次
- この記事の対象
- Pythonって何ができるの?
- Pythonを学ぶなら、書籍のほうがよい?インターネットで学ぶほうがよい?
- Pythonを学ぶなら、無料の教材でよい?
- STEP1 まだPythonに触れたことがない人 → まずはPythonの基礎を学ぼう
- まだPythonを学んだことがない人は、基礎から学びましょう!
- Pythonの基礎を学べるサイト
- Webアプリ、スクレイピングを学びたかったら、HTML、CSSを学ぼう
- STEP2 データの自動収集がしたかったら、PythonでWebスクレイピングを学ぼう
- Webスクレイピングとは?
- Webスクレイピングをできるようになるためには、どのような知識が必要?
- Pythonの環境構築とは?
- PythonでHTTP通信ができるRequestsとは?
- 〇BeautifulSoupとは
- 〇Pandasとは
- 〇スクレイピングを学ぶのにお勧めのチュートリアル
- STEP3 データ分析を学ぼう
- Pandasとは
- データ分析でお勧めのチュートリアル
- STEP4 Webアプリを作ろう
- HTMLとは
- CSSとは
- JavaScriptとは
- jQueryとは
- BootStrapとは
- Flaskとは
- PythonでWebアプリを作る際のお勧めのチュートリアル
- STEP5 Web APIアプリを作ろう
- Pythonを利用したWeb APIのチュートリアル
- 最後に
この記事の対象
- Pythonでプログラミング学習を進めてみたいと思っている人
- 効率よく、Pythonを学んでみたいと思っている人
- Pythonで実用的なことをしてみたいと思っている人
Pythonって何ができるの?
Pythonは、プログラマー以外の人でも書けるように設計されている、可読性の高い言語です。以下のことができます。
- Pythonでスクレイピングという技術で、自動でネット上のデータを取得することができる
- PythonでAPIという技術を利用すれば、普通だと取得できない他人のツイッターのデータを取得して分析することができる
- Pythonを使えば、データの加工をエクセルより簡単にすることができる
- Pythonを使えば、データ分析ができる
- PythonはAIで機械学習やディープラーニングができる
- Pythonを使えば、Webアプリを作ることができる
詳しくはこちらの記事も読んでみてください!
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Ⅲ
あたりはマスターできるようにしておきましょう。ここがすべての基礎となります。
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上の文書を記述するプログラミング言語なのですが、これがわかると後述するスクレイピングという技術を利用する際に、理解しやすくなります。
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によるスクレイピング超絶入門は、本当に初心者でも簡単にわかるように、説明を一切省かないでわかるように書いたので、かなりご好評をいただいております。実際にそれどおりにやってできた!というご報告もいただいていますね!
¥1,980で販売しています。普通の技術書の半分くらいの値段で、すぐにスクレイピングができるようになります!
無料の部分だけでも、相当わかりやすいと思うので、ぜひ読んでみてくださいね!
noteで「Pythonによるスクレイピング超絶入門」を学ぶ
② PythonによるWebスクレイピング 実践編 – Google検索の結果から、アフィリエイトコードが入っている記事を抜き出す –
また、上級編として、Google検索の結果から、一つ一つ記事にアクセスして、アフィリエイトコードを自動取得するような「PythonによるWebスクレイピング 実践編 – Google検索の結果から、アフィリエイトコードが入っている記事を抜き出す –」というチュートリアルもあります。
こちらの内容としては
- Google検索で任意のキーワードを検索する
- そこから上位で表示される10記事をCSVにエクスポートする
- さらに、一つ一つの記事の中に、アフィリエイトコードが入っていたらそれも抽出する
ということができるような記事になっています。
STEP3 データ分析を学ぼう
次に Python を利用してデータ分析を学ぶ方法です。データを取り扱う上での必要なライブラリは、Pandas, Matplotlibです。
Pandasとは
Pandasは、データの加工に加えて、簡単な統計も扱うことができます。例えば、各変数間の相関係数を取得したり、データの要約を行うことができます。
Matplotlibとは
Matplotlibは、 Python 上でデータをグラフに描画するツールです。例えば折れ線グラフやヒストグラム円グラフ棒グラフなどをプログラミングで作成することができます。
Pandas, Matplotlibの基礎を学ぶおススメのチュートリアル
①AidemyのPandas
AidemyではPandasを用いたデータ処理を学習できます。
②AidemyのMatplotlib
また、同様にMatplotlibによるデータの可視化についても学ぶことができます。
データ分析でお勧めのチュートリアル
① 【ソーシャルメディアのデータ分析①】Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!
Twitter上のツイートのデータを分析して、どういうツイートがリツイートされやすいのかを分析したチュートリアル「【ソーシャルメディアのデータ分析①】Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!」を作りました。このチュートリアルで学べるのは
- Pandasを利用して、ツイートのデータの前処理を行う
- ツイートのデータをもとに、PandasやMatplotlibを利用して、拡散されやすいツイートのデータを相関係数等を用いながら分析する
ということをやっています。
- 実際の生のデータを利用して分析してみたい
- 実際にデータを分析する流れを抑えておきたい
という方には、ぜひ読んでいただきたいチュートリアルです。
【ソーシャルメディアのデータ分析①】Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!
STEP4 Webアプリを作ろう
さて、次にPythonでWebアプリを作るために必要な基礎知識を身につけましょう。
Python で WEB アプリケーションを学びたい人は、以下の項目を学習しましょう。
- HTMLとCSS
- JavaScript
- jQuery
- Bootstrapを学びましょう。
- Pythonのマイクロフレームワークである、Flask
HTMLとは
HTML は、 Web 上の文字や表などを記述する言語です。
CSSとは
CSS は、 HTML の色を変えたり配置を変えたりすることができる言語です。
JavaScriptとは
JavaScriptは、 Web ページでクリックしたときに文字の色を変えたりすることができる言語です。
jQueryとは
jQuery は JavaScript をより簡単にしたフレームワークになっています。
これらは皆プロゲートで学ぶことができます。是非最初にこれらのコースをクリアしてみてください。ここまでができると、データのやり取りが必要のない、簡単な Web ページを作ることができるようになります。
BootStrapとは
BootStrapは、CSSのフレームワークであり、より簡単にWebページのデザインができるフレームワークとなります。
次に、Python の web フレームワークFlaskを学んでみましょう。
Flaskとは
Flaskは、 Python 上で Web アプリケーションを作ることができるマイクロフレームワークです。あるページにアクセスした時に、ある特定のページを見せることができるような処理を行うことができます。
PythonでWebアプリを作る際のお勧めのチュートリアル
①Flaskチュートリアル – Pythonでツイッターの分析ツールを作ってディプロイしよう!(動画つき!)-
Flaskチュートリアル では、以下のことを学びます。
- Twitter APIに連携して、アカウントのいいね数とフォロワー数を取得
- それをWebアプリとしてグラフで分析できるサイトの作成
完成したもののイメージは、こんな感じになります。
Twitter のデータを取得してそのデータをもとにより評価されたツイートを分析することができるアプリケーションです。このチュートリアルに従って実際にアプリを作ってみると学びが深いと思います。
こちらも無料の部分はしっかり見れるようになっているので、ぜひ読んでみてください!
また、AIを利用したWebアプリを作ってみたい方は、こちらの記事も参考にしてみてください!
STEP5 Web APIアプリを作ろう
Web APIとは、簡単に言うと、外部サービスの情報窓口です。
- Twitterから自分のツイートをダウンロードしたい!
- Instagramから、有名人の画像を一括ダウンロードしたい!
という場合に、Webブラウザ経由ではなく、HTTPという通信経由で、ツイッター内のデータにアクセスすることができます。
Web APIが使えると、何が嬉しいのかを簡単にまとめます。
- 自作のサービス上で、外部アプリケーションのデータを利用した、混ぜ合わせたアプリ(マッシュアップアプリ)を作れる
- 普通にブラウザでデータを収集すると、手動で「次へ」ボタンをクリックして全記事を確認しなければならないが、APIを利用すると、一瞬で可能
- 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からWebデータをスクレイピングして、顔認識の機械学習のアプリを作るチュートリアルもあります。
スケベAI「スケベ博士」をPythonとGoogle Apps Scriptで作るスケベ・チュートリアルは、Microsoft Azure Face APIという、顔認識の機械学習APIを利用した顔認識のアプリです。このチュートリアルでは
- 顔認識をするために、アダルトサイトから2000名のAV女優の画像をスクレイピング
- DMM APIを利用して、さらにAV女優の画像を学習
- Microsoft Azure Face APIを利用して、AV女優を学習
- LINE Messaging APIを利用して、LINEから任意の女性の画像を送ると、それに似たAV女優の画像を取得
という、スケベなチュートリアルになっています。
- スクレイピング
- Web API
といった知識を実際に応用しながら学習できるので、ぜひみてみてください!
≫スケベAI「スケベ博士」をPythonとGoogle Apps Scriptで作るスケベ・チュートリアル
また、ほかにも
最後に
Python の基礎を学びの の基礎を学びその上で応用を学ぶ道筋を解説しました。実際に作りながら学ぶのが一番効率的なので、是非基礎を学んだらすぐに応用に、勇気を出してチャレンジしてみましょう。最後に紹介したチュートリアルをすべてまとめておくので、気になったものをぜひ読んでみて下さい!
≫PythonによるWebスクレイピング 実践編 – Google検索の結果から、アフィリエイトコードが入っている記事を抜き出す –
≫【ソーシャルメディアのデータ分析①】Pythonでツイッターのオリジナルデータから、拡散されやすいツイートを分析してみよう!
▼このサイトで人気のあるトップのチュートリアルはこちら!
- 【データ収集】 Web スクレイピングチュートリアル
- 【データ収集】Web APIのチュートリアル
- 【データ分析】 Pythonを利用したデータ分析チュートリアル
- 【Webアプリ】PythonによるWebアプリ開発チュートリアル
- 【AIアプリ】Pythonで創る顔認識AIアプリチュートリアル
LINE@では、非エンジニアがプログラミングでつくれるようになるためのお役立ち情報や、限定で有料チュートリアルを無料で配信したりしています!