- 1. 【instaloder】PythonにてInstagramの情報を取得する神ライブラリ
- 2. 【Pyinstaller】Python exe化の様々なエラー解決策
- 3. 【Python】GoogleDriveからダウンロードしたファイルの操作時のエラー対策
- 4. pytorchにおける最適化手法の観察
- 5. 【python】勉強メモ 速習Flask③
- 6. 正規表現を用いたPythonで動的に値を判定する方法
- 7. Twitterのプロフィール画像を自動で更新するツールをGitHub Actionsで作った話
- 8. Python 3 エンジニア認定実践試験に合格してPython試験をコンプリートしたので色々まとめてみた
- 9. M1の審査員の審査能力を評価する方法について考えてみた
- 10. 【AtCoder】ABC283 のA,B,C,D における Python解説
- 11. RaspberryPiでrequests_htmlを使用してハマる
- 12. 【Django】 TemplateViewを使ってListページを作る
- 13. 【python】勉強メモ 速習Flask②
- 14. Yt-dlpをPythonから実行し、時間指定した動画をダウンロードする
- 15. 【Mac M1】applescriptを使って、全取引先に年末の挨拶メールを、一瞬で個別送信する方法。
- 16. Sony Neural Network Librariesを使ってハマったこと備忘録
- 17. leetcode5 を解いてみた
- 18. レガシーなシステムのコードを勉強がてら、自分なりに最適化してみる
- 19. scratch3.0でAWSを操作してみたかった(できなかった)
- 20. paizaラーニング「辞書順に出力 2 Python3編」
【instaloder】PythonにてInstagramの情報を取得する神ライブラリ
## 前置き
以前趣味でInstagramからのビッグデータ収集を行っているのですがInstagramってスクレイピング対策堅いですよね。そんな対策を打破するライブラリをご紹介します!
## インスタのスクレイピング対策はTOPレベル
ユーザーページへのアクセスで、数十回ユーザーページにアクセスしただけで本人確認画面に飛ばされます。プロキシでアクセス、UA変更や人間らしい動きなどの対策をしても弾かれるようです。
## 希望のライブラリ Instaloader!
最終的に海外の掲示板を頼りに周回していると面白いライブラリが見つかりました。『Instaloader』という名前のライブラリでユーザーIDさえあればその人のプロフィールや投稿数、フォロワー、フォロー中の取得が数行で行えました。コンソール(cmd)で、
“`:cmd
pip install instaloader
“`
と入力すればインストールできます。## できること
・特定のハッシュタグが付いた投稿の情報取得
・ストーリーや投稿画像のダウンロード
・投稿のいいね数
・プロフィール文やプロフィール画像、フォロワー数など取
【Pyinstaller】Python exe化の様々なエラー解決策
## 前置き
この記事はPyinstallerのインストール方法やexe化について説明するものではありません。
Pyinstallerで発生するエラーを”解決するだけ為”の記事になります。
様々なエラーがありますので、早速説明していきたいと思います。## Pyinstallerは複数インストールしている
### 原因
Pyinstallerが複数の環境にインストールされていると処理が正しく実行されない場合があります。
詳しい原因を調査しましたが、原因は判明しておりません。
### 解決策
コマンドプロンプト(cmd)を管理者権限で起動してください。
起動したら下記の様に入力してください。
“`:cmd
>>where pyinstaller
“`
パスが複数行表示された場合は多数の環境でインストールが行われています。
必要な環境の方だけPyinstallerを残し、他の環境のPyinstallerはpip uninstallでアンインストールしてください。## exeファイルを実行後のエラーが「No such file or directory」
### 原因
エラー内容
【Python】GoogleDriveからダウンロードしたファイルの操作時のエラー対策
## どんなエラー?
GoogleDriveAPIを使用し、何らかのファイルのダウンロード後にosライブラリ等でファイルを移動・削除など行うと…“`エラー
PermissionError: [WinError 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です
“`はい、怒られました。
こんな感じでファイルがどこかで開かれたままになっています。ちなみにコードは下記の通りです。
“`python:example.py
# ↑省略
# ######## Googleの認証 ##############
scope = [‘https://www.googleapis.com/auth/drive.file’]# ↓ここにはサービスアカウントの鍵のJSONファイルの中身をコピペしてください
credential = {
“type”: “”,
“project_id”: “”,
“private_key_id”: “”,
“private_key”: “—–BEGIN PRI
pytorchにおける最適化手法の観察
# はじめに
ディープラーニングによく使われている最適化手法がどのような動作をするのか気になったので、ライトコードさんの記事を参考に試してみました。環境
WSL
ubuntu 22.04
python3.10.6
jupyter# コード
“` as
%matplotlib inline
%matplotlib widget
from torch import optim
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm
import numpy as np
import torch#各データの格納リスト
classes = [‘SGD’, ‘Momentum’, ‘Adagrad’, ‘RMSprop’, ‘Adadelta’, ‘Adam’]
x_list = {}
f_list = {}
optimizers = {}#各種optimizer毎に関数の最適化を行う
for key in classes:
x_list[key] = np.empty((0, 2))
【python】勉強メモ 速習Flask③
## 1 はじめに
今回は、DBに登録された情報を表示する学習です。
– [【python】勉強メモ 速習Flask②](https://qiita.com/qiitataro/items/682faa9749d596cb3496) の続きとなります。
– 今回は、修正を行うファイルのみ掲載します。## 2 コード編集
app.pyと、index.htmlを以下の様に編集。
“`app.py
from flask import Flask
from flask import render_template
from flask import request
from flask import redirect
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
import pytzapp = Flask(__name__)
app.config[“SQLALCHEMY_DATABASE_URI”] = “sqlite:///blog.db”
db = SQLAlchemy(app)
正規表現を用いたPythonで動的に値を判定する方法
# 前提
ABC084-B問題での実装検討を端的にまとめる
> [ABC084_B問題](https://atcoder.jp/contests/abc084/tasks/abc084_b)# 今回やりたいこと
* 正規表現を用いて変数の値を反映したい
* 毎回input値が変わるので動的に正規表現をかけて判定したい(今回動的に判定するのは文字数)# 実装内容
“`ABC_084_B.py
import rea, b = map(int, input().split())
s = input()# aとbの値を受け取る値毎に動的に変更して文字数を判定する
print(“Yes” if re.search(fr'[0-9]{{{a}}}-[0-9]{{{b}}}’, s) else “No”)“`
* fr”hoge”とすることでfstring関数とrow関数を併用することが可能
* `{` と `}`は2つ重ねればエスケープすることが可能“`実行結果.py
# 下記結果の通り後は上記実装方法の様に、Noneなら”No”, matchするなら”Yes”とし
Twitterのプロフィール画像を自動で更新するツールをGitHub Actionsで作った話
# はじめに
こちらの記事は[GitHub Actions Advent Calendar 2022](https://qiita.com/advent-calendar/2022/github-actions) 25日目の記事です。
TwitterのAPIの審査が通ったので何か作ろうと思い、Twitterのプロフィール画像を時間帯に合わせて更新するツールをGitHub Actionsで作成しました。# 作ったツール
以下のように時間帯に合わせて自動でプロフィール画像を更新してくれます。
(微妙にダサいですが目をつぶってください)| 7:30~9:30 | 9:30~17:30 | 17:30~23:30 | 23:30~翌日7:30 |
| ——— | ———- | ———– | ————– |
| Python 3 エンジニア認定実践試験に合格してPython試験をコンプリートしたので色々まとめてみた:::note info
この記事は[Udemy Advent Calendar 2022](https://qiita.com/advent-calendar/2022/udemy) 25日目の記事です。
:::筆者は3年前Python 3 エンジニア認定データ分析試験(受験当時はベータ試験)に合格した記念に投稿した以下の記事は御陰様で多くの方に読んでいただくことができ、同時に沢山の`いいね`を頂戴しました。
https://qiita.com/y-vectorfield/items/36fc6d773f01ae33cd2c
あれから3年の月日が経ち、新たに一般社団法人Pythonエンジニア育成推進協会主催の「実践試験」が開始されました。受験してみたところ、:cherry_blossom:無事合格:cherry_blossom:しました。これでPython試験は4つ全てに合格し、無事コンプリートしました。よって、今回も記憶が薄れないうちに実際に取り組んだ試験対策等の情報をdumpしておこうと思います。 :dancer: :da
M1の審査員の審査能力を評価する方法について考えてみた
先日M1が開催されて、一部の審査員の採点が物議を醸していました。この件に関しては擁護派の方も多く、単に点数の幅を大きくとっているだけどいう意見もありました。
そこで私は正しい採点とはなにか、それを数値化する方法はないかということを考え、pythonコードを書いてみました。 断っておくと、私の数学力は学部1年レベルですので、結構おバカなことをしてしまっているかもしれませんが、そんな場合は優しくご指摘いただければと思います。
また、()で囲っている部分は独り言のようなもので、そこまで重要ではないので、後々おかしいと感じた点などがあれば、その都度見返していただければと思います。審査員の採点能力を数値化する上での指針
1.ある審査員の審査能力を評価する場合、他の審査員の評価の平均を”正しい審査”の”うちの一つ”と定義する。
(最終的に得られた審査能力を用いて重み付けをして繰り返し計算していく方法もあるように思えるが、私のキャパを超えている気がする。)
2.”うちの一つ”と書いたのは、平均値や標準偏差が違っても芸人さん達の点数の順位、及び、点数の差の比(日本語が下手で申し訳ないが言
【AtCoder】ABC283 のA,B,C,D における Python解説
ABC 283のA,B,C,D 問題を解くために考えたこと、ACできるPython3(PyPy3)コードを紹介します。
この記事は @u2dayo さんの記事を参考にしています。見たことのない方はそちらもご覧ください。とても勉強になります。
また、問題の難易度を表す指標を [Atcoder Problems](https://kenkoooo.com/atcoder/#/table/tsuru1471) から引用しています。このサイトは勉強した問題を管理するのにとてもオススメです。
質問やご指摘はこちらまで
Twitter : [Waaa1471](https://twitter.com/Waaaa1471)作者プロフィール
Atcoder :[緑 882](https://atcoder.jp/users/tsuru1471)
20221225 現在# 目次
[はじめに](#はじめに)
[A.Power](#apower)
[B.First Query Problem](#bfirst-query-problem)
[C.Cash Register](#ccas
RaspberryPiでrequests_htmlを使用してハマる
# はじめに
Seleniumを使うのはWebドライバのバージョンを気にしたりと何かと不便。requests_htmlを使用すれば比較的簡単そうと思いRaspberryPi4にインストールしてみましたが結局ハマってしまったのでその記録を残しておきます。
# まずはインストール
“`shell
sudo pip install requests_html
“`
インストールはpipで行うだけ。いたって簡単です。
# 早速テストスクリプトで試してみるが…
次のようなスクリプトを作成して早速試してみます。
“`Python
from requests_html import HTMLSessionsession = HTMLSession()
url = “https://www.google.com/”
r = session.get(url)
r.html.render()
“`
実行結果
“`Python
[INFO] Starting Chromium download.
100%|████████████████████████████████████████| 10
【Django】 TemplateViewを使ってListページを作る
Templateviewを使ってListページを作ろうとしたときに
良い感じの記事と巡り会えず、思ったよりハマったのでTemplateviewを使ってListページを作る方法をまとめました# 概要
TemplateViewを使ってListページを作成する方法です# この記事で伝えたいこと
– Templateviewを使ったListページの作り方– context_dataにデータを詰めれば上手くいく
# 結論
`[モデル].objects.all()`で取得したデータをcontext_dataに代入する“`app1_views.py
from django.views.generic import TemplateViewfrom .models import TestData
class IndexView(TemplateView):
template_name: str = “app1/index.html”def get_context_data(self, **kwargs):
ctx = super().ge
【python】勉強メモ 速習Flask②
## 1. はじめに
今回は、**SQLite**を使い投稿したデーターをDBに保存するところまで行いたいと思います。## 2. 全体の流れ
1.事前準備(SQLite3のインストール)
2.共通化
3.投稿内容のDB登録(今回のメイン)
4.DB登録処理(今回のメイン)### 1. 事前準備 SQLite3のインストール
1. [SQLite3 ダウンロードページ](https://www.sqlite.org/download.html)へ移動。2. 「Precompiled Binaries for Windows」まで移動し、
「sqlite-tools-win32-x86-3360000.zip」をダウンロード
![SQL-1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3014502/e031d10e-4d40-6ac9-bd36-b7dab17d1ee6.png)3. ダウンロードしたら、任意の場所でZIPファイルを解凍。
4. 解凍すると、sqldiff.exe
Yt-dlpをPythonから実行し、時間指定した動画をダウンロードする
この記事は呉高専アドベントカレンダーの24日目の記事です。
https://adventar.org/calendars/7908
呉高専を卒業し、大学に3年次編入してから2年目の乗算記号と申します。
普段はUnityでゲームを作ったり、卒研でPythonいじったりしています。
初めて記事を書くため、読みづらい部分はご容赦ください。# yt-dlpとは
yt-dlpとはyoutube、twichといった動画配信サービスから高画質・高音質な動画をダウンロードできるプログラムです。ちなみにあのGitHubから追放されかけた(実際された)ことで有名なYoutubeDLからの派生プロジェクトになります。使用目的としては機械学習のような大量の動画や音源が必要なときに大変重宝されます。基本的にはcliから使用しますが、pythonスクリプト上からも動作できます。
https://github.com/yt-dlp/yt-dlp
# yt-dlpで時間を指定した上でダウンロードする。
ある動画を時間指定してダウンロードする関数を定義して使用してみます。
ソースコードは以下のようにな
【Mac M1】applescriptを使って、全取引先に年末の挨拶メールを、一瞬で個別送信する方法。
<愚痴>
まあ、Windows環境用に、PythonとWin32comを駆使して書くならば、需要はあるのでしょうが、自分の環境がMac環境なので、使えないApplescriptを駆使して、書きます。笑<やりたい事>
タイトルが、「◯◯様、年末のご挨拶【海山商事、山田太郎】」と言う個別メールを、全取引先(300社以上)に、一斉送信したい。
(一般的には、BCCメールでやるのであろうが、「宛先多数の為、BCCメールで送信します。」とやると、経験上、誰も読まないし、第一、失礼だと思っております。)内容は下記。
====
◯◯様、いつも大変お世話になっております。
山田太郎です。
早いもので、本年も残りわずかとなり、年末のご挨拶をさせていただく時期となりました。メールにて、恐縮ではございますが、年末のご挨拶とさせて頂きたいと思います。
良いお年をお迎えください。山田太郎
====<手順 1>
下記の様にで、送信したい相手先書いた.csvファイルを用意する。
A列にお客様の名前、B列にメールアドレス。
ファイル名は、recipient_list.csv![名称未設
Sony Neural Network Librariesを使ってハマったこと備忘録
Sony Neural Network Librariesを使ってハマったので憂さ晴らしの投稿
先に言うと問題は何も解決してません。# なにはともあれ環境
>Windows10
>Python v3.10 on VScode
>nnabla 1.32.0
>nnabla-ext-cuda110 1.32.0# 症状
Sony Neural Network Librariesを自前で構築したPython環境に`pip install nnabla`して使おうとしたが、次のようなことを言われ、にっちもさっちもいかなくなった。~~~
(base) python.exe “nnabla_1.py”
2022-12-23 16:09:33,297 [nnabla][INFO]: Initializing CPU extension…
Traceback (most recent call last):
File “nnabla_1.py”, line 9, in
import nnabla as nn
File “C
leetcode5 を解いてみた
# 方針
自分で1回はプロセスを考える。解けなくてもOK。
解けなかったときは、振り返ることが可能な程度まで言語化する。
※考え方おかしくない?というのがあればご指摘くださいまし。
※解けなかった、苦戦したものを記事にする。# 問題紹介
問題は以下URL参照
https://leetcode.com/problems/longest-palindromic-substring/description/
## 最初の考え
– スマートな解法わかんないっぴ…
– とりあえず愚直にやってみるっぴ…“` 初回.py
class Solution:
def longestPalindrome(self, s: str) -> str:
tmp = []
res = “”
length = 0for i in range(len(s)):
tmp = []for j in range(i,len(s)):
tmp.a
レガシーなシステムのコードを勉強がてら、自分なりに最適化してみる
# Perlは好きですか?
こんにちは。自分は、Pythonを主言語として、いつも書いていますが、
今回、自社システムを学ぶためにも書かれているコードを勉強しつつ、コーディングしてみた話です。システムは、かれこれ十数年クラスの凄いシステムです。
当時、師匠が一人で作ってくださり、今もなお現役として稼働し続けているシステムで、
全てPerlで書かれているCGiとなります。
セキュリティ的な面はさておき、コード自体は、特にPerlっぽさもないコーディングに仕上がっており、今後使われるかは不明です。
また、これら勉強を通して最も個人的にためになった箇所だけを抜粋し、こちらに投稿させて頂きます。それでは、始まります。
###### ※なお、公開しているコードは一部を抜き出したもので、不完全であり、コピペでは動きません。## IPカメラ(ネットワークカメラ)から画像を取得したい。
弊社システムでは、必須な項目であり、現場のカメラから画像を取得し、システム上に表示させなくてはイケません。
そこで、弊社のシステムでは登録された情報からカメラに直接アクセス、または間接的に画像を拾って
scratch3.0でAWSを操作してみたかった(できなかった)
# 前置き
これは[株式会社SUPER STUDIO Advent Calendar 2022](https://adventar.org/calendars/8255)の19日目の記事です。
せっかく機会を得たので、Qiitaの記事を久しぶりに書いてみようと思って自分のアカウントを見たら、前に投稿したのが2014年でした。恐るべき光陰。
以前の記事の頃とは自分の境遇も変わったので、新たな気持ちで記事を作ってみようと思います。技術トピックで自分がよく読む記事としては、筆者の経験を踏まえたうえで他の人の役に立つようなナレッジを共有しているものと、役に立つかわからないことに情熱を注いでいるようなものと、のどちらかが好きです。
今回記事を作るにあたり、他の人の役に立つものも一瞬考えたのですが、今回は後者で行きます。### 前提条件
今回の記事の筆者の環境です。
* Windows 10 Pro
* Ubuntu 20 on WSL2あと、AWSアカウントを持っていることが前提です。
# やりたいこと
ノーコードとかいうのが流行っているらしいじゃないですか。ものとして本
paizaラーニング「辞書順に出力 2 Python3編」
https://paiza.jp/works/mondai/array_primer/array_primer__string_dictionary_step2
#### 私の解答
“`Python3
li = (input().split())
sorted_li = sorted(li)for ele in sorted_li:
print(ele)
“`
#### 解答例1
“`Python3
S = [0] * 5
values = input().split()
for i in range(5):
S[i] = values[i]sorted_S = sorted(S)
for s in sorted_S:
print(s)
“`
#### 解答例2
“`Python3
S = [0] * 5
values = input().split()
for i in range(5):
S[i] = values[i]S.sort()
for s in S:
print(s)
“`