Skip to content

georgeneokq/python-examples

Repository files navigation

Python Examples

You are currently reading the Japanese documentation.

For English-speaking developers, view the English documentation.

概要

別々の目的で作られたライブラリたちを合わせることですごいことができるっていう点を示すために、様々なライブラリを使ってPythonで面白いことを色々やって行きます。

  • openpyxlライブラリでExcelファイルを操作する
  • FlaskでWebサーバーを立ち上げる
  • SeleniumとBeautiful SoupでWebスクレイピングを行う
  • numpy, pandas, sklearn, seaborn, matplotlibで機械学習を行って、機械学習モデルを作成する
  • Seleniumでブラウザ操作の自動化

インストレーション(Windows)

まずはPython3.9以降のバージョンをインストールしてください。

powershell
python -m venv venv
venv/Scripts/activate
pip install -r requirements.txt

チュートリアル

デモンストレーションに入る前に、tutorialディレクトリの入ってあるいくつかのpythonの機能の紹介を見ることをおすすめします。

list_comp -> dict_comp -> slicing -> name の順で見てください。

デモンストレーション

以下の指示はシェルのカレントディレクトリはプロジェクトルートだということを前提とする。

Excelファイルを読み込む

cd web_server/modules
python excel.py

Webサーバーを立ち上げる

cd web_server
python -m flask --debug run

静的サイトのWebスクレイピングを行う

以下のコマンドを実行する前にWebサーバーを起動してください。Webサーバーを立ち上げるを閲覧

python scrape_static.py

動的サイトのWebスクレイピングを行う

以下のコマンドを実行する前にWebサーバーを起動してください。Webサーバーを立ち上げるを閲覧

python scrape_dynamic.py

機械学習モデルを作成する

machine_learning/train_diabetes.ipynbを開く。ブラウザのJupyter Notebookではコード補完がないため、Visual Studio Codeで開くことを強くおすすめします。

ブラウザのJupyter Notebookで開きたい場合は以下のコマンドを実行してください。

python -m notebook machine_learning/train_diabetes.ipynb

トレーニングデータセットdiabetes.csvmachine_learning/datasetsにあります。データセットの詳細はここから読めます

ブラウザの自動化

以下のコマンドを実行する前にWebサーバーを起動してください。Webサーバーを立ち上げるを閲覧

python automate.py

セキュリティ上問題

securityディレクトリには脆弱性が入ってるアプリケーションがいくつか入ってあります。

sql_injection.py: SQLインジェクション攻撃

path_traversal.py: パストラバーサル攻撃

ssti.py: サーバーサイドテンプレートインジェクション攻撃

About

Pythonで色々

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published