- 1. 【Python】妻に真夜中のダンスレッスン予約を強要されたので、Webスクレイピングで回避を試みようとしている話 (10.seleniumでログイン)
- 2. 東京証券取引所日報の株式相場表のPDFをCSVに変換
- 3. PYNQを用いたFPGA画像処理入門
- 4. 【Django】バリデーションエラーのテンプレートへの表示パターン
- 5. 譜面からDance Dance Revolutionの難易度を推し量るモデルをDNNで作った
- 6. 自動SNSサーフィンシステムをクラウド上でサーバーレスに実装
- 7. ろうとるがPythonを扱う、、(その3:Subprocess)
- 8. win32com com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)の対処法
- 9. [python] pandas データフレームの結合 -concat-
- 10. sunpy.netを用いてJSOCのFITSデータをダウンロードする
- 11. ポケモンのわざをコレクションする話 ~ 最大フロー問題 ~
- 12. ゼロからニューラルネットワークを自作してみた(python)
- 13. Pythonでネットワークアドレスに含まれるIPアドレス一覧を得る
- 14. Pythonで任意のIPアドレスレンジからそれらを包含するサブネットを算出する
- 15. wkhtmltopdfで大量の画像を含むPDFを書き出すと途中でエラーが出る件
- 16. Anaconda環境でFlaskを動かす
- 17. GPU非搭載 CPU上でOpenAIのWhisperを試して音声データを文字起こししてみた。
- 18. docker-composeでFastAPIとMySQLとphpMyAdminの環境作ったら開発しやすすぎた
- 19. QuizKnockさんの「出題のない部屋」の正誤判定を作成してみた話
- 20. SpacyとGiNZAで固有表現抽出
【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 urljoinimport requests
from bs4 import BeautifulSoupheaders = {
“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] 最も代表的なのはこのようにポケモン全種類を集めることです。やったー!ポケモン全898種類を1匹ずつ手に入れたぞ!!小さい頃からの夢を達成した pic.twitter.com/2P2hbq2DUc
— りゅうふじわら(現象) (@ryunryunryun_) February 18, 2021
[^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 Flaskapp = 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-slimWORKDIR /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.jpRUN 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の練習がてら作成してみたいと思う.この記事はネタバレ満載なので,記事を見る前にぜひ以下の動画を見ていただきたい.
+ 本編
+ 解説編