フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

python

pythonでサイト内の画像をダウンロードと画像圧縮

はじめに サイト内に取得する画像のリストをCSVで事前に用意しておく。 filename http://www.example.com/images/hoge600444hgea0a9dad15a.png http://www.example.com/images/hoge600a22222hoge30.png http://www.example.com/images/hoge6dsa33300a0ae7317…

django/pandasでCSVファイルを結合する

インストール django-pandasというパッケージもあるが普通にpandasをインストールして使う。 pip install pandas CSVファイルのサンプル 下記の2つのCSVファイルをfilenameをキーに結合する itemid itemname filename 4 商品1 hoge600444hgea0a9dad15a.png …

Djangoの設定ファイルをenvファイルで管理する

利用用途 settings.pyにデータベースやセキュリティトークンの情報が記載されているのはあまり良くないため、envファイルで管理できるようにする settings.pyファイルの設定(デフォルト) djangoのデフォルトの設定ファイルは下記のようにsettings.pyファイル…

dockerのamazonlinuxイメージでpython3.9/django3の環境を構築する

python 環境のイメージ作成用Dockerfile pythonのライブラリはお好きなものをインストールしてください。djangoでreset apiを実装したいため、djangorestframeworkなどをインストールしてます。 FROM amazonlinux:latest WORKDIR /opt RUN yum update -y RUN…

pythonでyoutubeのデータをダウンロードする

利用するパッケージ 下記のパッケージを利用してpythonを利用してyoutubeの動画をダンロードする pypi.org インストール pip install youtube-dl 利用方法(コマンドラインの場合) コマンドラインで実行する。 コマンドの引数にyoutubeのダウンロードしたいUR…

JupyterLabでpytrendsを利用してトレンド情報を取得する

参考ページ https://pypi.org/project/pytrends/ https://github.com/GeneralMills/pytrends https://dev.classmethod.jp/articles/pytrends_introduction/ インストール $ pip install pytrends コード from pytrends.request import TrendReq ## 日本時間…

JupyterLabで画像をクローリングする

参考ページ icrawlerを利用して画像をクローリングする icrawler.readthedocs.io インストール JupyterLabのコンソール画面からicrawlerをインストールする。 pip install icrawlerコマンドを実行する 実行 下記のサンプルコードを実行する from icrawler.bu…

DokerでJupyterLabを動かす

docker image 今回利用するイメージはこちら hub.docker.com docker-compse.ymlの設定 JUPYTER_ENABLE_LABはJupyternoteではなくJupyterLabを利用できるようにするための環境変数 version: '3' services: Jupyter: image: jupyter/datascience-notebook port…

DockerのRedashでpythonを利用できるようにする

参考記事 discuss.redash.io 設定 docker-compose.ymlのservice.serverにREDASH_ADDITIONAL_QUERY_RUNNERS: redash.query_runner.pythonを追加して、dockerを再起動するだけで利用できるようになります。 services: server: <

python/fastapiでDBに登録されているユーザー情報を返す

はじめに 前回、sqlalchemy-migrateを利用してUserテーブルを作成したので、そのユーザーテーブルにアクセスしてデータを返すサンプルを作成する px-wing.hatenablog.com インストール 必要なライブラリは下記となります。利用しているデータベースはmysqlサ…

PythonのSqlAlchemy-migrateでテーブルを作成する

SqlAlchemy-migrateを使ってみる sqlalchemy-migrate.readthedocs.io 詳しい作業手順は下記に記載されているので、マネしてやってみる sqlalchemy-migrate.readthedocs.io インストール $ pip install sqlalchemy $ pip install sqlalchemy-migrate $ pip in…

pythonをデータベースするためにsqlalchemyでDBに接続する①

はじめに 表題の件を下記の公式サイトを参考に実装してみる 公式サイトではSQLAlchemyを使用した例があるのでSQLAlchemyを利用したデータベースアクセスを実装してみる。 fastapi.tiangolo.com 下記のデータベースをサポートしている PostgreSQL MySQL SQLit…

dockerでfastapiを動かす環境を構築する

はじめに FastAPI は、Pythonの標準である型ヒントに基づいてPython 3.6 以降でAPI を構築するための、モダンで、高速(高パフォーマンス)な、Web フレームワークです。 fastapi.tiangolo.com fastapiはstarletteをラッピングしているので、基本starletteが、…

Dockerのpython:alpine環境でmysqlclientをインストールするとエラーが出る

はじめに Dockerを利用してpythonのfastapiの環境を作るために環境構築していたところ幾つかのエラーにあったので、対処法を下記に記載する エラー① mariadb-devをインストールすることで解決する Collecting mysqlclient Downloading mysqlclient-2.0.1.tar…

Pythonデザインパターン-シングルトン

Pythonデザインパターン-シングルトン クラスのインスタンス化を1つのオブジェクトに制限します。これは一種の作成パターンであり、メソッドと指定されたオブジェクトを作成するためのクラスは1つだけです。 作成されたインスタンスへのグローバルアクセスポ…

Python モジュールとClassについて

モジュールを作成する モジュールを作成するには、必要なコードを.pyファイル拡張子の付いたファイルに保存するだけ。 サンプル このコードをという名前のファイルに保存します hello.py def greeting(name): print("Hello, " + name) モジュールを使用する …

pythonでGoogletransを利用して翻訳する

はじめに Googletransは無制限の GoogleがAPIを実装翻訳Pythonライブラリ。これは、Google Translate Ajax APIを使用して、検出や翻訳などのメソッドを呼び出します。これは凄い! googletrans · PyPI コード from googletrans import Translator translator…

pandasでグラフを表示

はじめに 国勢調査のCSVファイルを利用して千葉県の人口の推移をグラフにする 国勢調査 / 時系列データ / CSV形式による主要時系列データ 下記のサイトからCSVファイルをダウンロードして不要なデータや「-」の部分を0に変換して利用する www.e-stat.go.jp …

PandasのDataFrameを使ってみる

はじめに 前回、ざっくりpandasでCSVファイルを読み込みを作成したが他にどのような機能があるか理解していないので、触ってみる px-wing.hatenablog.com DataFrameについて データを表形式(行列)にして保存することでデータを扱いやすくする 2次元のデー…

pythonのpandasで複数のエクセルファイルまたはCSVファイルを統合する

はじめに 複数ファイルのエクセルファイルとCSVファイルを統合する必要があったので、pandaが使えると思い調査してみる。 pandasのインストール pip install pandas pandasを動かしていると下記のエラーに遭遇する Case1 下記のエラーが発生した場合、xlrdが…

pythonでブラウザを自動起動するところまで

はじめに pythonでブラウザを自動操作したくなったので、サンプルを作成してみる 必要なものをインストールする Chrome用のWebDriverのダウンロード 下記のサイトからWebDriverをダウンロードする このドライバを介してPC上のChromeを操作することが出来る。…

Djangoユーザー認証が便利②

はじめに 前回、Djangoのユーザー認証回りのユーザー登録とログイン回りを実装したので、今回はログアウト、ログイン判定をしていく。 ユーザー管理 下記の機能を実装することが可能です。 - ユーザー登録(前回) - ログイン(前回) - ログアウト - 認証 - ロ…

Djangoのpillowを利用するときの設定

はじめに 前回の下記の記事でDjangoでpillowのインストールまで実施したので、今回は画像がアップロードできる状態まで設定する px-wing.hatenablog.com MEDIA_ROOTとMEDIA_URLの設定 プロジェクトフォルダにあるsetting.pyファイルにファイルアップロード先…

alpine / djangoの環境でファイルアップロード(pillow)の環境を作る

はじめに djangoでファイル添付つきのフォームを作成するためにpillowをインストールしようとしたらエラーがでたので、調べてみた。 pillow.readthedocs.io エラーの内容 jpeg関連のライブラリが見つからないとエラーが出ていた。 The headers or library fi…

Django/GrapheneのGraphQLでデータの登録・更新・削除する

はじめに 前回、DjangoでGraphQLでDBに登録された情報にリクエストする処理を実装しましたが、今回はDBのデータを更新する処理を実装する 前回の調査記事 下記の記事をみることで環境構築とデータを取得する箇所までは実装できている px-wing.hatenablog.com…

Django3.1がリリースされたのでバージョンアップしてみる

はじめに 2020.08.04 に django3.1がリリースされたのでローカルにインストールされているDjango3.0.8からDjango3.1にバージョンアップしてみる www.djangoproject.com 現在インストールされているバージョンを確認する pip list -oコマンドで確認する # pip…

python OpenCVで顔認識

はじめに ーpythonでOpenCVを利用して顔認識を作成する サンプルソースは公式サイトのものを流量する。そのままコピーしても動作しなかったので、少し変更しました。 docs.opencv.org サンプル画像 - 利用した画像 www.pakutaso.com 顔と目の認識するための設…

pythonでカメラから動画を画像として保存する(openCV利用)

はじめに OpenCVを利用してリアルタイムで写真を常に撮影してローカルに保存するサンプルを作成する おおもとのソースは鳥取大学のページに掲載されているサンプルを流用して作成しました。最初、OpenCVの公式サイトかと思ったぐらい。 labs.eecs.tottori-u.…

python 非同期処理について

はじめに pythonで非同期処理をする方法を調べてみました。 同期処理 ライブラリインストール シンプルなPythonのHTTPライブラリをインストールする pip install requests requests-docs-ja.readthedocs.io サンプルコード 2回のHTTPリクエストを同期処…

djangoでお問い合わせフォームを作成する②

はじめに 前回までにお問い合わせフォームのデータを格納するテーブルの作成まで進めたので、実際に申し込みフォームを作成する px-wing.hatenablog.com 前回と記事からの変更点 データベースを作成する際に文字コードを指定して作成する。日本語を文字化け…