Python関連のことを調べてみた2022年10月29日

Python関連のことを調べてみた2022年10月29日
目次

【Python】妻に真夜中のダンスレッスン予約を強要されたので、Webスクレイピングで回避を試みようとしている話 (10.seleniumでログイン)

前回は、「9.会員・予約情報を読み込む。」について投稿しました。前々回でレッスン予約サイトを開いて閉じるところまでできているので、今回は次の段階として、IDとパスワードを使用して予約サイトにログインするところまでコーディングしたいと思います。

——————————————————————————————-
# ブラウザの検証ツールを使用して要素を特定する。
会員番号、パウワードを入力しログインボタンをクリックするには、それぞれの HTMLタグ要素を特定するキーとなる情報が何なのかを確認する必要があります。それらは検証ツールを使用することで確認できます。

ログインページを表示した状態で

元記事を表示

東京証券取引所日報の株式相場表のPDFをCSVに変換

https://www.jpx.co.jp/markets/statistics-equities/daily/index.html

株式相場表の最新PDFをCSVに変換

列数が違うので立会市場 普通取引のみ

売買単位があるもののみ抽出(アルファベット表記はなし)

“`python
# スクレイピング

import pathlib
import re
from urllib.parse import urljoin

import requests
from bs4 import BeautifulSoup

headers = {
“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko”
}

def fetch_soup(url, parser=”html.parser”):

r = requests.get(url, headers=headers)
r.raise_for_status()

soup = Beauti

元記事を表示

PYNQを用いたFPGA画像処理入門

# はじめに
PYNQは、Xilinx社製FPGA開発キットやアクセラレーションカード上に実装されたロジックをPythonから利用するためのフレームワークです。
**本記事では、Kria KV260とPYNQを利用したFPGAアクセラレーションの入門として、画像を反転させる単純なアプリの実装方法を概説します**。今回は画像反転という単純なロジックをFPGA上に実装しますが、**ロジックの変更によって様々な処理への応用が可能になると考えています**。
尚、使用するXilinx社製FPGA開発キットは、Kria KV260 AIスターターキットを用いました。
![Screenshot from 2022-10-29 10-46-41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2756450/691a91ad-ca07-db17-2901-2bc61926a4b0.png)
キャプチャの引用元:https://japan.xilinx.com/products/som/kria/kv260-vision-

元記事を表示

【Django】バリデーションエラーのテンプレートへの表示パターン

## サンプルモデル

例えばこんなモデルがあったとする。

“`python:models.py
class Urls(models.Model):
instagram = models.URLField(verbose_name=’instagram’, blank=True, null=True)
“`

## バリデーション

forms.pyで`clean_FIELDNAM`を使いバリデーションする。

“`python:forms.py

class UrlForm(forms.ModelForm):
class Meta:
model = Urls
fields = (‘instagram’,)

def clean_instagram(self, *args, **kwargs):
if self.is_valid():
insta_url = self.cleaned_data[‘instagram’]
# 空ならそのまま返す

元記事を表示

譜面からDance Dance Revolutionの難易度を推し量るモデルをDNNで作った

# Dance Dance Revolutionについて
運動したほうがいいと周囲に言われたため, Dance Dance Revolution(以下DDR)に取り組んでいる.
DDRというのはリズムゲームの一種で, ディスプレイ上の矢印に併せて筐体のパネルを踏むゲームである.
DDRにはstepmaniaというエミュレーターがあり, このstepmaniaの譜面データから, 適切な難易度を類推するモデルを畳み込みニューラルネットワークで作成した.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2950973/94b1c0a7-f606-8a27-ce9e-050978fc9d4e.png)

# 学習データについて

stepmaniaの譜面を公開しているサイトから, テキトーに「.sm」をダウンロードし学習データとした.
今回は, 約5000譜面を学習データとし, 加えて左右の上下の入れ替えでデータを水増を行った(左右や上下を入れ替えても難易度がそこまで変わらないと仮定).

譜面

元記事を表示

自動SNSサーフィンシステムをクラウド上でサーバーレスに実装

# はじめに

VTuberが好きすぎて、YouTubeとTwitterで何か面白いネタがないか探す毎日を過ごしています。だいたい同じ文言で検索し、同じチャンネル(アカウント)を確認している状況でしたので、自動化できるんじゃないかと思い立ったのが事の始まりです。
設計・構築・実装がある程度形になってきたので、備忘的に書き流してみます。

# 最低限満たしたかった条件(要件定義もどき)

– 費用なし(無料サービスで実現)
将来どうなるか分からないが、まずは個人用システムとして稼働させるため、初期投資なし。
– クラウドサービス利用(できる限り)
サービス設計・製造部分に注力したいため、インフラ部分は外部サービスで実現する。
システム環境についてセキュリティ設計や維持運用に手が取られなくて済むように。
– できればPython・PostgreSQL利用
ちょうど勉強したいと思っていたので。あくまで可能ならば。

# サービス内容
まずは実現した機能の概要を。

## YouTube自動検索
定期的にYouTubeでキーワード検索を行い、その結果を取得、フィルタリングしたうえでWe

元記事を表示

ろうとるがPythonを扱う、、(その3:Subprocess)

# Subprocess&tkinterを使ってコマンドプロンプトもどきプログラム
今後もPythonを扱うこともありそうなので、シリーズ化(その3)することにした。今回は、Subprocessおよびtkinter(GUIフレームワーク)を使って、コマンドプロンプトもどきプログラムをつくる。

## Subprocess
Subprocessでは、Windowsコマンドプロンプトのコマンドを実行できる。次のサイトを主に参照した。
– [【Python】Windowsコマンドプロンプトのコマンドを実行する方法(subprocessモジュール)](https://office54.net/python/basic/python-windows-command)
– [subprocess — サブプロセス管理](https://docs.python.org/ja/3/library/subprocess.html)

## 作成したもの
![before.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

win32com com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)の対処法

win32comを使ってOutlookを自動化した際にエラーが発生した。

自分のパソコンでテストした時は問題なく動作したが、他部署にexeファイル化して渡したところ

#### com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)

というエラーが表示された。

アプリケーションを読み込む部分でエラーが発生している

“`py
import win32com.client
outlook = win32com.client.Dispatch(“Outlook.Application”)
“`

色々と調べると

– bit数が違う
– Outlook.exeがローカルに保存されていない

この2点が問題ではないかと書いてあったが、どちらも問題はなかった。

## 結論

WindowsのスタートメニューからOutlookが消えていた。
どうやらローカルに保存されているだけでは読み込んでくれない模様。

設定のアプリと機能からOfficeをクイック修復をしたところエラーが解消した。

https://support.micros

元記事を表示

[python] pandas データフレームの結合 -concat-

# はじめに
業務自動化を進めているが、なんとかエクセルファイルからデータのみを取り出したとき、
抽出したデータを一つにまとめる方法をまとまる。

# 環境
window 10 home
“`python
import platform
print(‘python version: ‘ , platform.python_version())
# python version: 3.7.8
import pandas as pd
print(‘pandans version: ‘,pd.__version__)
# pandans version: 1.3.5

“`

# Code

## データフレームの準備
“`python
df_1 = pd.DataFrame({‘A’: [‘A1’, ‘A2’, ‘A3’],
‘B’: [‘B1’, ‘B2’, ‘B3’],
‘C’: [‘C1’, ‘C2’, ‘C3’]},
index=[‘ONE’, ‘T

元記事を表示

sunpy.netを用いてJSOCのFITSデータをダウンロードする

NASAのSolar Dynamics Observatory(SDO)で観測されたデータは、Joint Science Operations Center (JSOC)にアーカイブされています。

JSOCのデータにアクセスするには、手動でダウンロードしたり、curlやwgetでダウンロードする方法もありますが、太陽のデータ取得や解析を行うためのライブラリである[sunpy](https://sunpy.org/)を使うのが一番便利です。

JSOCにアーカイブされたデータをsunpyを使ってダウンロードする方法を解説していきます。

## JSOCにメール登録
JSOCのデータをダウンロードするには、まずはJSOCにメールアドレスを登録する必要があります。登録は2~3分ほどで終わります。

①こちらのサイトでメールアドレスを入力します。
http://jsoc.stanford.edu/ajax/register_email.html

②こんなメールが送られてくるので、内容を変更せず返信します。
メール下部に書いてあるハッシュを見てるっぽいですね。
![スクリーンショット 20

元記事を表示

ポケモンのわざをコレクションする話 ~ 最大フロー問題 ~

# はじめに
ポケモンには様々なコレクション要素が存在しています。[^1] 最も代表的なのはこのようにポケモン全種類を集めることです。

[^1]: 本記事の筆者はコレ

元記事を表示

ゼロからニューラルネットワークを自作してみた(python)

こんにちにゃんです。
水色桜(みずいろさくら)です。
今回はニューラルネットワークに関する記事を書いていこうと思います。

# 本記事の目的
本記事ではnumpyなどの基礎的な道具のみを用いてニューラルネットワークを自作していきます。私と同じく、ゼロからニューラルネットワークを自作してみたいという方の参考になれば幸いです。数式に関する解説もしていますので、この記事だけで完結できるようにしていくつもりです。
![ニューラルネットワーク_交差エントロピー誤差.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2847349/48e85596-ce59-028b-8db6-fe30131da6f7.png)
![ニューラルネットワーク_確率.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2847349/19f64620-28ec-2f8c-8c9d-19c9e307ffab.png)

# ニューラルネットワークとは
人間の脳の

元記事を表示

Pythonでネットワークアドレスに含まれるIPアドレス一覧を得る

# はじめに
 前に「任意のIPアドレスレンジからサブネットを算出する」という記事を書きましたが、むしろ逆にネットワークアドレスに含まれるIPアドレス一覧が欲しいという場合の方が多いかも。
 例えば、192.168.1.0/24に含まれるIPアドレスの一覧が欲しいといったニーズ。

 そんな時も[ipaddress](https://docs.python.org/ja/3/library/ipaddress.html)ライブラリや[netaddr](https://netaddr.readthedocs.io/en/latest/index.html)ライブラリを使えば超簡単に解決できます。

 なお、少し使用目的が違うけど、この[サイト](http://ossan.jp/ipaddr/split/)でOriginal Subnet(s)にネットワークアドレスを入れて、Into:に32を入れると同じ様なことができます(結果に/32がつきますが…)。

# やってみる

まずはipaddressを使った方法。

“`pytho

元記事を表示

Pythonで任意のIPアドレスレンジからそれらを包含するサブネットを算出する

# はじめに
 任意のIPアドレスレンジからサブネットを算出する機会がありますかね?
 例えば、192.0.2.0から192.0.2.130までのIPレンジを包含するネットワークアドレスを知りたいといったニーズ。

 そんな時は[ipaddress](https://docs.python.org/ja/3/library/ipaddress.html)ライブラリや[netaddr](https://netaddr.readthedocs.io/en/latest/index.html)ライブラリを使えば割と簡単に解決できます。

# やってみる

まずはipaddressを使った方法。

“`python:nwaddrs.py
#ライブラリ読み込み
from ipaddress import IPv4Address, summarize_address_range

#IPアドレスレンジの最初と最後をそれぞれの変数に格納
first_ipaddr = IPv4Address(‘192.0.2.0’)
last_ipaddr =

元記事を表示

wkhtmltopdfで大量の画像を含むPDFを書き出すと途中でエラーが出る件

# はじめに
MLモデルに大量の画像を食わせて、それらの結果を一覧表示したいときにいろいろな方法があると思います。
jupyter-notebookを用いている場合はそのまま出力すれば良いですし、OpenCVやmatplotlibなどを使うのも良いでしょう。

ただ、その画像が大量にある場合。検証目的でできるだけ複数の画像を並べる必要がある場合。
HTMLに書き出してPDF化してしまうのが一番楽なのではないかと思いました。
ということでjinjaを使ってHTMLを書き出して、wkhtmltopdfでPDF化しようとしてみますが、ちょっと困った事があったのでメモ。

# 起こったこと
“`sh
$ wkhtmltopdf –enable-local-file-access src.html dst.pdf
“`

を実行すると、以下のエラーが大量に出る。

“`sh
file:///path/to/image1.jpg (ignore) Warning: Failed to load
file:///path/to/image2.jpg (ignore) Warning: Fai

元記事を表示

Anaconda環境でFlaskを動かす

# Anacondaの仮想環境作成~Flaskのインストール

## 仮想環境を作る

名前は “senerio” とする。

“`
conda create -n senerio python==3.10
“`

ここでPythonの指定を失念すると以下のエラーで *conda install* が止まってしまうので注意。

> CondaSSLError: OpenSSL appears to be unavailable on this machine. OpenSSL is required to download and install packages.

## 仮想環境を有効化する

“`
conda activate senerio
“`

## 仮想環境にFlaskをインストール

“`
conda install flask
“`

## 適当なサンプルコードを書いて実行

“`python:app.py
# -*- coding: utf-8 -*-
from flask import Flask

app = Flask(__name__)

@a

元記事を表示

GPU非搭載 CPU上でOpenAIのWhisperを試して音声データを文字起こししてみた。

## まえがき
社内で打ち合わせ時に録画しているデータを元に、議事録を起こしているため
文字起こしサービスやOSSを探していてWhisperを試してみることにした。

## スペック
– Intel(R) Xeon(R) CPU E5-2667 4コア
– RAM 8GB
– CentOS Linux 8.x

## 導入
### Dockerfileの準備
“`Dockerfile
FROM python:3.9-slim

WORKDIR /workspace

# 以下は、プロキシサーバがある場合は記載
ENV http_proxy http://proxy.xxxx.co.jp
ENV https_proxy http://proxy.xxxx.co.jp
ENV HTTP_PROXY http://proxy.xxxx.co.jp
ENV HTTPS_PROXY http://proxy.xxxx.co.jp

RUN apt-get update && apt-get install -y \
build-essential \
gcc \

元記事を表示

docker-composeでFastAPIとMySQLとphpMyAdminの環境作ったら開発しやすすぎた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556658/6ec16fbf-ad49-b975-cf6a-642ab0476747.png)

## はじめに
株式会社マイスター・ギルド新規事業部のヒツジーです。
弊社新規事業部では、新規サービスの立ち上げを目指して
日々、アイディアの検証やプロトタイプの作成などを行っています!

技術の進歩は目覚ましいので、置いてかれないように新しい技術のキャッチアップにもいそしんでいます!
本記事は、FastAPI(Python)とMySQLとphpMyAdminのコンテナをdocker-composeを使って立ち上げたらいい感じの開発環境が手に入ったよ、ということを共有させていただく内容となっております。

本記事で紹介するコードは[こちらのGithub](https://github.com/NozawaYoshitaka/clean-architecture-like-fastapi)で公開しています。
ご使用は趣味の範囲でお願いします。何か

元記事を表示

QuizKnockさんの「出題のない部屋」の正誤判定を作成してみた話

# イントロ
先日Quizknockさんの「出題のない部屋」を眺めていたら,どうやら正誤判定をプログラミングで判定していたようだ.今回はその判定プログラムを,pythonとQiitaの練習がてら作成してみたいと思う.

この記事はネタバレ満載なので,記事を見る前にぜひ以下の動画を見ていただきたい.

+ 本編

+ 解説編