本当にPython初心者でも作れるモノ4選【Webアプリ・データ取得・自動化etc.】

GeekSalonライターのたかぱんです!
この記事をお読みの方は
「Python始めたばかり初心者におすすめなプロダクトが知りたい」
「Pythonでなにか作ってみたいけれど何が作れるかわからない」
といったような悩みをお持ちではありませんか?
この記事では、Pythonでどのような物が作れるか、その中でも初心者におすすめなプロダクトとそのサンプルコードについて解説していきます。
目次
Pythonについて知ろう
Python作られている有名なサービスの紹介
Pythonは近年非常に人気が高くなってきているプログラミング言語です。
日経の調査によると、今後どのような言語を学びたいかという項目で回答者の2/3はPythonを学習したいという結果が出ています。

https://xtech.nikkei.com/atcl/nxt/mag/nc/18/072100242/072100001/
さらには、「Dropbox」「Instagram」「YouTube」といった身近なサービスも、Pythonが使用されています。
このように、Pythonの人気が高く汎用性が高いのは、Python言語は文法が簡単で、かつサードパーティのライブラリが多いということが理由にあげられます。
(サードパーティのライブラリ・・・コードを1から書かなくてもインストールするだけで実行のできるコードのこと)
Pythonを学ぶ理由について
Pythonは非常に汎用性が高く人気であるということを先ほど説明しました。
この特徴はPythonを学ぶ理由の1つですが、これに加えてPythonを学ぶことでこれからの社会の中心になっていく人工知能に触れることができます。
AI・人工知能と呼ばれているようなものは、今後確実に普及していくということはご存知でしょう。PythonはそのAI・人工知能のプログラムを作成するための言語の一つです。
さらには、Pythonは文法が簡単なため、様々なサービスが活用しており現在ではサービス同士を連携するメジャーな言語になっています。
そのため他のサービスを使ってなにかを作りたい人にはもってこいであり、転職を考えている人にとっては収入面でも期待のできる言語です。
長くなりましたが、Pythonを学びたいと感じてくれたでしょうか。
それでは、Pythonの入門のために、初心者でも作れるものを4つ紹介していきます。
Python初心者でも作れるモノ4選

自動ログインなどの自動化ツール
まずPython初心者におすすめなものの1つ目として、自動化ツールが挙げられます。
- 難易度 ★★☆☆☆
- 自動化ツールでできるものとして、
- 画像データの収集
- ダウンロードしたファイル、画像の名前がばらばらなものの名前を統一する編集の作業
- エクセルの自動操作
その時に使用するPythonのライブラリとして、代表的に4つのことがあります。
- Selenium・・・Web ブラウザの操作を自動化する
- Beautiful Soup・・・Webサイト上のデータを取得・解析する
- (Request・・・HTTP通信用のPython)
- openpyxl・・・エクセルを操作できる
ネットから株価やなどの情報を取得するスクレイピング
- 難易度 ★★★☆☆
初心者におすすめなPythonプロダクトの2つ目として、ネットから情報を所得するスクレイピングツールです。
スクレイピングとは?
Web上から必要なデータをプログラム等を使用して取得してくることです。Scrapingは「こすり、ひっかき」に由来しており、プログラミングで使うときは特にWeb上から必要なデータをとってくることを意味します。
スクレイピングは、データを手動で収集するのに比べて大きく時間と手間を短縮できます。
その分Webサイト上のデータを取得してくるためサーバーに負担がかかり、スクレイピングが禁止されていたり違法になるサイトもあるため、スクレイピングするサイトには気をつける必要があります。
- スクレイピングでできること、活用例
- メルカリで高額で売れた出品の一覧データの取得
- 定期的な株価の取得
- 検索の関連ワードの所得
ではGoogleの検索結果の上位10位とそのURLを所得するスクレイピングをしてみましょう!(参考)
【サンプルコード】
まず最初に、Anaconda Promptを起動して以下のコードを入力して実行させ必要なライブラリのインストールをします。
Anacondaのインストール方法に関しては、こちらの記事で紹介していますので、ぜひ参考にしてください。
まずは、必要なライブラリのインストールを行います。
pip install requests
pip install beautifulsoup4
次に以下のコードをVSコードに書いて実行させます
import requests
from bs4 import BeautifulSoup
# Google検索するキーワードを設定
search_word = 'python'
# 上位から何件までのサイトを抽出するか指定する
pages_num = 10 + 1
print(f'【検索ワード】{search_word}')
# Googleから検索結果ページを取得する
url = f'https://www.google.co.jp/search?hl=ja&num={pages_num}&q={search_word}'
request = requests.get(url)
# Googleのページ解析を行う
soup = BeautifulSoup(request.text, "html.parser")
search_site_list = soup.select('div.kCrYT > a')
# ページ解析と結果の出力
for rank, site in zip(range(1, pages_num), search_site_list):
try:
site_title = site.select('h3.zBAuLc')[0].text
except IndexError:
site_title = site.select('img')[0]['alt']
site_url = site['href'].replace('/url?q=', '')
# 結果を出力する
print(str(rank) + "位: " + site_title + ": " + site_url)
これを実行すると、次のように検索順位と検索結果とURLがリストアップされます。
<実行結果>
【検索ワード】python
1位: Python.org: https://www.python.org/&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAkQAg&usg=AOvVaw2XwD5f6vtFqcFWus3Ot93B
2位: python.jp: プログラミング言語 Python 総合情報サイト: https://www.python.jp/&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAIQAg&usg=AOvVaw38kSN8L__fPoADmUnTq7q2
3位: ゼロからのPython入門講座: https://www.python.jp/train/index.html&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAEQAg&usg=AOvVaw285j48Vv3Rzz6HBwlAwfbI
4位: Python – Wikipedia: https://ja.wikipedia.org/wiki/Python&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAgQAg&usg=AOvVaw1Kj53OtovXPaIS5B36ZBbz
5位: Pythonでできること6選!仕事への活用方法から学習方法まで解説:https://www.pasonatech.co.jp/workstyle/column/detail.html%3Fp%3D2104&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAMQAg&usg=AOvVaw0W6Ft0qlVod9ftp0hCNA25
6位: Python入門 – Let’sプログラミング: https://www.javadrive.jp/python/&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAcQAg&usg=AOvVaw2cIcjZ7XTrlD3L7_gZI4GX
7位: Python | プログラミングの入門なら基礎から学べるProgate[プロ …: https://prog-8.com/courses/python&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAAQAg&usg=AOvVaw0HgxVCHjmYcq0EM8mXQsEc
8位: MicroPython – Python for microcontrollers: https://micropython.org/&sa=U&ved=2ahUKEwjNyL-duKX2AhXlKqYKHf4jC18QFnoECAUQAg&usg=AOvVaw0edwUFqgTdGV5qq848cNXU
Webアプリ
- 難易度 ★★★★☆
初心者におすすめなPythonプロダクトの3つ目は、Webのアプリです。
Webアプリを作成する際のプログラミング言語には、Ruby、PHP、Javaが多く採用されますが、実はPythonを使ってWebアプリを作成することができます。
Pythonには、簡単にWebアプリが作れるようなフレームワークが作成できるライブラリがあります。(フレームワークとは、中身になにも入っていない骨組みのようなもので、プログラムを使って中身を埋めていいきます)
Wenアプリにおいてフレームワークを作成するライブラリとして、以下の2つが挙げられます。
- Flask(簡単手軽)
- Django(難しいが高級感のある仕上がりになる)
Webアプリはインターネットやサーバーにも関係のあるものなので、Python以外にも必要となってくる知識があります。例えば、HTMLや通信、セキュリティなどに対する知識がWebアプリを作る上で必要になります。
しかし、自分の作ったプログラムをネット上にアップロードし、友達や知り合いにも活用してもらうことができるので、とてもおすすめです。
画像処理
- 難易度 ★★★☆☆
初心者におすすめなPythonプロダクトの4つ目は、画像処理ツールです。Pythonのライブラリの1つであるOpenCVは画像認識や画像処理を得意としています。OpenCVは簡単に画像のピクセルを読み取り分析して処理したり、特徴を検出したりすることができるので、以下のような活用ができます
- 顔の認識
- 色の反転や融合で新たな画像を生み出す(芸術分野にアツい)
- 画像の中の物を認識して、背景とそのものを切り離す技術(Zoomの背景フィルターのような)
では実際に、顔の認識をするコードを書いてみましょう。
【サンプルコード】
こちらは、Google Colaboratoryで実行させます
(Google Colaboratoryはオンラインで動くエディターです。インストール方法や、使用方法は下記に載せているため、こちらを参考にしてみてください。
import cv2
from google.colab import files
#公式からダンロード
face_cascade_path = '/usr/local/opt/opencv/share/'\
'OpenCV/haarcascades/haarcascade_frontalface_default.xml'
eye_cascade_path = '/usr/local/opt/opencv/share/'\
'OpenCV/haarcascades/haarcascade_eye.xml'
face_cascade = cv2.CascadeClassifier(face_cascade_path)
eye_cascade = cv2.CascadeClassifier(eye_cascade_path)
uploaded_file=files.upload()
uploaded_file_name = next(iter(uploaded_file))
src = cv2.imread(uploaded_file_name)
src_gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(src_gray)
for x, y, w, h in faces:
cv2.rectangle(src, (x, y), (x + w, y + h), (255, 0, 0), 2)
face = src[y: y + h, x: x + w]
face_gray = src_gray[y: y + h, x: x + w]
eyes = eye_cascade.detectMultiScale(face_gray)
for (ex, ey, ew, eh) in eyes:
cv2.rectangle(face, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)
cv2.imwrite('data/dst/opencv_face_detect_rectangle.jpg', src)
コードを実行することで、アップロードした画像の顔の部分を認識して、四角で囲ったものを出力してくれます。
<実行前>

<実行後>

以上の4つが初心者におすすめなプロダクトでした。
難易度も載せましたので、自分のチャンレンジしたいものを作ってみましょう!
Python初心者が開発を始める手順
Python初心者が開発を始めるときに、パソコンの中に色々なソフトをダンロードして、開発できる環境を整える必要があります。
ダウンロードする物として基本的には、以下の2つをダウンロードする必要があります。
- Pythonその物自体
- エディター
Pythonそのもの自体のダンロードは、Anacondaというものをインストールする方法があります。
AnacondaをインストールすることでPythonの使いやすい環境もPythonとセットでダウンロードすることができるので、Anacondaでインストールをしましょう。
エディターは、コードを書くためのWordのようなアプリを想像していただけるとわかりやすいです。そのエディターとして、VSCodeの使用をおすすめしています。
VSCodeは、世界中のプログラマーに使われているエディターであり、誤字の修正や、見やすいにようにスペースの調整を自動でしてくれる機能をつけることができます。
加えてVSCodeはPythonに限らず様々な言語で使用することができるので、Python以外の言語も使ってみたい方にもおすすめです。
画像つきダウンロード方法はこちら
Pythonでの開発につまづいたらスクールもおすすめ
Pythonの環境構築や、開発の途中でつまってしまうのは、初心者あるあるだと思います。
パソコンに対する知識がなかったり、パソコンの設定が独自のもので教本と違ったりすることで、エラーが解決できず独学で挫折してしまう初心者は多くいます。
そんなときには、エラー文を検索してみたりすることがおすすめです。
それでもよく理解できない場合はスクールで学んでみてもいいかもしれません。
大学生専用プログラミングスクールGeekSalonでは、Pythonについて文法からスクレイピングや自動化などライブラリの使い方まで1ヶ月で¥49,830学ぶことのできるPythonコースがあります。 (※2023年7月現在)

興味がある人は説明会や体験会を毎日実施しておりますので、こちらへ!