- 1. 【Twitcasting】気になるあの配信者の配信開始通知をdiscordに送信方法を考えて実装してみた。
- 2. Python Seleniumでスクレイピングする時、エラーが爆発
- 3. [python] seleniumのdeepL自動化
- 4. TF-IDFの基本的な考え方と実装方法
- 5. Bag of Words(BoW)の3つのやり方
- 6. pyenv-win環境でpipでインストールしたコマンドラインツールが使えない!時
- 7. Python3: 診療・検査医療機関の PDF を JSON に変換
- 8. 【6】「いかのおすし」を縦表記しよう
- 9. スクレイピングの基本的な流れ
- 10. Jupyterで特定のセルの入力と出力を参照する小ネタ
- 11. Django Import xxx could not be resolved from source エラーの解決方法
- 12. VSCode insiders venv activate時の「このシステムではスクリプトの実行が無効になっているため~」 エラーの解決
- 13. VSCode Python importエラー 上の階層の自作モジュールをインポートしたい
- 14. [pyinstaller] or [py2exe] でpyファイルをEXE化 (2022-01-22)
- 15. kivyMDチュートリアル其の肆什伍 Behaviors – Hover篇
- 16. Python リストを連番で辞書に格納する
- 17. Python3をWindows10[64bit]へインストール [2022/01/22]
- 18. 週末研究ノート ー (Easy!) Monty Hall Problem Simulation
- 19. 三重対角行列の固有値を二分法で求めよう
- 20. Python3でpip install uuidしてはいけない件
【Twitcasting】気になるあの配信者の配信開始通知をdiscordに送信方法を考えて実装してみた。
#はじめに
趣味で推しの子がよくツイキャスするけど通知に気づけないからdiscordに投げるBotを作りました。
言語はPythonで書いてます。
記事の内容はほぼGitHubにあるものと同じです。メモ程度です。実際の稼働してる様子はこんな感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2422677/431677b7-d048-f1d6-6c22-8c287106e785.png)
詳細は[こちら](https://github.com/renit0424/TwitcasNoticeDiscord)から
Python Seleniumでスクレイピングする時、エラーが爆発
selenium 4.1.0でスクレイピングした時、エラーが多数発生する。
from selenium import webdriver
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(executable_path=’C:/webdriver/chromedriver.exe’)
driver.get(‘https://www.yahoo.co.jp/’)
[python] seleniumのdeepL自動化
# 説明
pythonのseleniumをつかってdeepLという翻訳サイトを操作してファイルの中身を自動的に翻訳できたらよいと思って作ったもの。
バグが多くうまく動かないことが多いです
# 実行環境
* Intel(R) Core(TM) i7-8700 6コア12スレッド
* メモリ16GB
* windows10 64bit
* 仮想8コア、物理4コア
* Python 3.8.11
* ANACONDA
* JupyterLab 3.1.7#コード
## モジュール
“`python:modules
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
import time
import urllib.parse
import os
from joblib import Parallel, delayed
from selenium.webdriver.common.by import By
f
TF-IDFの基本的な考え方と実装方法
# TF-IDF
### 概要
TF-IDF(Term Frequency-Inveerse Document Frequency)は、全ての文書に出現する単語と、一部の文書にしか出現しない単語を区別するための方法である。
Bag of Words(BoW)は各文書の単語ごとの出現回数をカウントしたものであるが、この方法では全ての文書に出現する単語と、一部の文書にしか出現する単語を区別することができない。### 数式による説明
以降の説明で使用する記号の意味は下記のとおり。+ $n_{d,t}$ :文書$d$で単語$t$が出現する回数
+ $df_{t}$ :単語$t$が出現する文書数
+ $N$ :全体の文書数
+ $T$ :1つの文書における単語数の合計#### TF
TFは、「1つの文書の中に現れる全単語の合計出現回数のうち、その1つの単語がどれだけの割合で出現したか」と定量化した指標である。したがって、ある1つの文書の1つの単語に対して定まる指標である。“`math
TF_{d,t} = \frac{n_{d,t}}{\sum_{t=1}^{T}n_{d,t}
Bag of Words(BoW)の3つのやり方
# Bag of Wordsとは
Bag of Words(BoW)は、各文書の形態素解析の結果をもとに、単語ごとの出現回数をカウントしたものである。
今回は、下記の3つの文書を対象にBoWを実行する。– 子供が走る
– 車が走る
– 子供の脇を車が走る*厳密には形態素は単語より小さな概念であるが、今回は単語として扱っている
# MeCabのインストール
形態素解析を行うための便利なライブラリにMeCabがある。
私はWidowsを使っているのだが、下記のサイトにお世話になった。
[MecabをインストールしてPythonで使う【Windows】](https://self-development.info/mecab%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6python%E3%81%A7%E4%BD%BF%E3%81%86%E3%80%90windows%E3%80%91/)# 1. 地道に行う方法
– 必要なライブラリをインポート“`py
pyenv-win環境でpipでインストールしたコマンドラインツールが使えない!時
pyenv-winでpath通してpip使えてるのに、pipでインストールしたパッケージ(jupyter等)が使えないときは、`shims`フォルダ除いてみてほしい。
“`:このパスは通ってる(これじゃ足りない)
%USERPROFILE%\.pyenv\pyenv-win\bin
%USERPROFILE%\.pyenv\pyenv-win\shims
“`ちなみにpipはここに入ってるからコマンドつかえる。pipでインストールされたパッケージは、ここじゃなくて、
“`:ここにインストールされる(このパスを追加すればいい)
%USERPROFILE%\.pyenv\pyenv-win\versions\3.x.x\Scripts
# versionは適当なバージョンを指定する
“`
Python3: 診療・検査医療機関の PDF を JSON に変換
次で公表されている PDF を JSON に変換します。
[診療・検査医療機関の公表について](https://www.pref.tochigi.lg.jp/e04/sinnryoukensa2.html)小山地区のデータを取得します。
“`bash
wget https://www.pref.tochigi.lg.jp/e04/documents/20220112225313.pdf
“`PDF の表示
“`bash
evince 20220112225313.pdf
“`![medical_jan24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/4d70c5b8-6634-ca92-27d8-870c37520454.png)
変換
“`bash
pdftotext -layout 20220112225313.pdf
#
./medical_to_json.py 20220112225313.txt oyama_medical.json > tmp01
【6】「いかのおすし」を縦表記しよう
ファイルの名前は,「20211220_[自分の名前].py」でお願いします.
以下ターミナル実行時の出力例です.
“`
い
か
の
お
す
し
“`
https://gyazo.com/d275362db67f52ccd975376177047ee4
↑にも授業資料の演習提示時のgifがあります.
スクレイピングの基本的な流れ
# Webページをダウンロード
こちらサイト( https://codezine.jp/ )にアクセスしてみる。
Requestモジュールを使用する。Webブラウザの代わりにWebサイトにアクセスし、HTTPでデータの送受信を行ってくれる。“`python
import requests
r = requests.get(‘https://codezine.jp’)
“`下記のとおりstatus_codeを確認すると、アクセスに成功(200)していることが分かる。
“`python
print(r.status_code)
“`# Webページから要素を抜き出す
## BeautifulSoup4を使わない場合
ページの内容(HTML)を取得し、\タグと\ タグを取得してみた。
正規表現を使うこともできるが難しそう。“`python
text = r.text
for line in text.split(‘\n’):
if ‘‘ in line or ‘ ‘ in line:
print(li
Jupyterで特定のセルの入力と出力を参照する小ネタ
Jupyterで特定のセルの入力値や出力値を別のセルから参照する際の短いライトな小ネタです。
# 使うもの
– Python 3.9.0
– Jupyter (notebook==6.4.7)※本記事ではVS Code上のJupyterを使っていきますが普通のJupyter notebookやJupyterLabなどでも動作すると思われます。
# 直前のセルの出力値を取得する
アンダースコアの記号(`_`)を特定のセルで実行すると、直前に実行したセルの出力(notebookであれば`Out [n]:`といった表示になっている部分)を取ることができます。
“`py:セル1
x: int = 10 + 20
x
“`“`
30
“`“`py:セル2
y: int = x + 30
y
“`“`
60
“`“`py:セル3
_
“`“`
60
“`![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228778/877a8116-9502
Django Import xxx could not be resolved from source エラーの解決方法
## 事象
プロジェクト作成、startappコマンド後、以下のエラーが発生した。
ようするに”django”関係がすべて読み込めていない。
“`Import “django.contrib” could not be resolved from source
Import “django.apps” could not be resolved from source
Import “django.db” could not be resolved from source
Import “django.shortcuts” could not be resolved from source“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515586/2ae23339-e439-ef0b-08ce-535f5bf29042.png)## 環境
Windows 10
Python 3.10.2
Django 4.0.1
venv利用あり## 対処方法
Pythonの補完には
VSCode insiders venv activate時の「このシステムではスクリプトの実行が無効になっているため~」 エラーの解決
## 事象
PCを新調したのでPython開発環境を構築しようとvenv activate を実行しようとしたところ、
「このシステムではスクリプトの実行が無効になっているため、ファイル xxx .venv\Scripts\Activate.ps1 を読み込むことができません。」という
エラーになったので対処法を記載
別のPCではならなかったので調べるに至った![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515586/dfb9afee-c6df-612c-97a7-fdc93df7723b.png)
## 環境
Windows 10
Visual Studio Code insiders 1.64.0
(Visual Studio Codeでも同じだと思う)
Python 3.10.2## 対処
Visual Studio Code insiders(以降、VSCode)の表示→コマンドパレットを押下し出てきた入力欄に「settings」と入力
![image.png](ht
VSCode Python importエラー 上の階層の自作モジュールをインポートしたい
# 環境
windows 10
pyenv-win
python 3.9.6# ue_no_direcotryはどこ? (Pythonの気持ち)
importは`sys.path`上に存在するパスから`相対パス`で目的のモジュールを探索するため、`sys.pathに存在しないパス(パスが通っていない)`自作モジュールなどではで`上の階層(ue_no_direcotry:この記事のヒロインの居場所)`を探索することができない。
標準モジュールやサードパーティーモジュールがどこからでもインポートできるというのは、それらのモジュールが`sys.pathの下の階層`にインストールされているからである。そうなんです、`sys.pathの下の階層`にあるモジュールならどこからでもインポートできるということなのです!当たり前のようなことですが、重要なことなので2回繰り返しました。ここでつまずいている人はこのことが理解できていないのだと思います。
“`python:ルートのパスで実行すると
import sys
print(sys.path)
“`“`:sys.pathの実行結果
[pyinstaller] or [py2exe] でpyファイルをEXE化 (2022-01-22)
前回、Windows10環境に、Python3をインストールしたので、今回は、exe化をやってみました。
前回の記事:
https://qiita.com/fix/items/cc31deda5daf0309d9f4
# pyinstaller をインストール
![イメージ7598.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/503948/56646e80-1117-ef57-5c0a-dc363a90de47.jpeg)
# exe化テスト
シンプルにprint文のみでとりあえずやってみます。
“`python:Hello-Python.py
# -*- coding: utf-8 -*-
import sys
print(“Hello,Python!”)
“`一応、実行確認
![イメージ7600.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/503948/771448b7-e974
kivyMDチュートリアル其の肆什伍 Behaviors – Hover篇
ハロー、Qiita!いかがお過ごしでしょうか。
はい、というわけで間もなく1月も終わりに近づいていますが、お元気に過ごして
いますでしょうか。何よりこの季節は寒いでございますね。外に出るのが億劫に
なるくらいで。まぁ緊急事態宣言も出そうな雰囲気で、出なくともステイホーム
が余儀なくされそうです。さて、本題に移りますが今日からはKivyMDのBehaviors章に戻っていきます。
以前どこまでやったっけなという思いに駆られていますが、確認してみると以前
はFocus篇をやっていました。ということで、今日はタイトルの通りで続きのHo-
ver篇となります。それではさっそくやっていくこととします。あ、それでは、レッツラゴ。(わざわざ言うまでもない)
## Hover
冒頭には比較的大文字で説明が書かれています。
> Changing when the mouse is on the widget and the widget is visible.
読んで字の通りということになるでしょうか。と言っても良くみるとChangeig-
when the mouseあたりなんかは一
Python リストを連番で辞書に格納する
“`:python
values = [‘itou’,
‘kuroda’,
‘yamagata’,
‘matukata’,
‘ito’,
‘matukata’,
‘ito’,
‘ohkuma’,
‘yamagata’]dic = {}
dic.update(enumerate(values))
“`
“`
{0: ‘itou’,
1: ‘kuroda’,
2: ‘yamagata’,
3: ‘matukata’,
4: ‘ito’,
5: ‘matukata’,
6: ‘ito’,
7: ‘ohkuma’,
8: ‘yamagata’}
“`
Python3をWindows10[64bit]へインストール [2022/01/22]
Windows10環境に、Pythonをインストールしてなかったのでメモも兼ねて記事にしてみます。
過去ログで、同様の記事がありますが、古くなってるので2022年度版ということでやってみます。
https://qiita.com/ssbb/items/b55ca899e0d5ce6ce963
#環境
・Windows10[64bit] 21H2
・Python 3.10.2
#Python 3.10.2 インストール
以前は、32bit版を入れないと動かなかった記憶があるのですが、現在は、64bitでも動くようです。
以下のリンクからダウンロードすると、自動的に64bit版が入るようです。
![イメージ75851.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/503948/5a01a358-a8bb-f29b-10f1-f9b13263c593.jpeg)
[add Python 3.10 to Path] にチェックを入れて、[install NOW]
![イメージ75
週末研究ノート ー (Easy!) Monty Hall Problem Simulation
# はじめに ー 週末研究ノートとは?
個人的に研究的な活動をやるにあたり、オープンにしてみたら面白いかもと思い、自分が興味を持っている ざっくりテーマについて、これから、ゆるい週末研究を公開していこうと思います。(有識者の方のアドバイスも、ちょっとというかかなり期待してます!笑)
どこかの権威的な学会やジャーナルなどで発表する予定はないため、万が一、私の記事を利用する際には自己責任でお願いします。そんな人はいないと思いますが、念のため。
# 今回のサマリ (TL; DR)
今回は、閑話休題?!
ひさしぶりに「[モンティ・ホール問題](https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%A3%E3%83%BB%E3%83%9B%E3%83%BC%E3%83%AB%E5%95%8F%E9%A1%8C#%E3%82%B2%E3%83%BC%E3%83%A0%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB)」に出会ったので、選択肢を変えた場合の確率をシミュレーションしてみました
三重対角行列の固有値を二分法で求めよう
二分法で遊んでいると、二分法で三重行列の固有値が計算できると知り、これは面白いと思いまとめてみました。この方法はランチョス法と組み合わせて、大規模疎行列の固有値問題を解くときに使うようです。
初投稿なので、至らない箇所があるかと思いますが、ご指摘いただけると幸いです。#三重対角行列
三重対角行列行列というのは以下のように対角成分とその両脇のみ非ゼロの値を持つ行列のことです。“`math
M = \begin{pmatrix}
a_1 & b_1 & 0 & \cdots & 0 \\
b_1 & a_2 & b_2 & \cdots & 0 \\
0 & b_2 & a_3 & \cdots & 0\\
\vdots & \vdots & \ddots & & \vdots \\
0 & \cdots & b_{n-2} & a_{n-1} & b_{n-1}\\
0 & \cdots & 0 & b_{n-1} & a_{n}
\end{pmatrix}
“`
一般に三重対角行列の非対角成分は必ずしも対称とは限りませんが、ここでは対称な場合に限って扱います。
すると
Python3でpip install uuidしてはいけない件
表題の件、正確に言えばPython2.5以降からですが、
uuidは標準ライブラリとしてバンドルされています。なのでpip install uuidしてしまうと、
“`
File “/Users/hoge/.pyenv/versions/3.8.0/lib/python3.8/site-packages/pip/_internal/req/req_install.py”, line 9, in
import uuid
File “/Users/hoge/.pyenv/versions/3.8.0/lib/python3.8/site-packages/uuid.py”, line 138
if not 0 <= time_low < 1<<32L: ``` このようなエラーになります。 どうやらこれは2.5以降に標準ライブラリに含まれているモジュールのバックポートのようです。 ##もしインストールしてしまった場合 ``` $ pip uninstall uuid ``` するか、 もしできなければ、ここでいうsite-package