Python

【Gimp】画像リサイズのスクリプトを実行してみる

Photoshop の代わりに 無料で使える画像編集ソフト「Gimp」を見つけたので、 スクリプトを実行できるか調べました。 Python が使えるようなので、これでプログラムを書きます。 設定 > フォルダ > プラグイン > プラグイン用フォルダー でフォルダを確認…

【Selenium】Firefox を Python から操作してみる

Python で Firefox を操作する時は、geckodriver が必要になる。 github.com ダウンロードしたら、/usr/local/bin に入れておく(または、任意の場所に入れてPATHを通しておく)。 Firefox Developer Edition.app をダウンロードしておくとよい。 www.mozill…

【Python】地図上の座標が範囲内にあるかを判定する

Python を使って、地図上のある座標が、4つの座標の中に含まれるかどうかを判定したい。 titirobo-develop.hatenablog.jp ↓こちらのサイトを参考にしました。 sak12.blogspot.com #!/usr/bin/env python #-*- coding:utf-8 -*- import numpy as np def main…

【Python】icloud に登録しているデバイスの位置情報を取得する

Pythonを使って、icloud に登録しているデバイスの位置情報を取得してみます。 前もって、PyiCloudService のモジュールをインストールしておきます。 #!/usr/bin/env python #-*- coding:utf-8 -*- from pyicloud import PyiCloudService import sys #以下…

【Python】Google Photo と ローカルフォルダの並びを同じにする

以前、Mac の Automater の機能を使って、同じフォルダの中のファイル群に、1分ずつずらした「変更日」を設定しました。 titirobo-develop.hatenablog.jp これは、Google Photo のアルバムの中の「並び替え」を確実に行うため。 www.nanigoto.net 前回は、G…

【Python】Firebase を更新 してみる

↓こちらを参考にして、Python から Firebase を更新してみた。 https://kinformation.sakura.ne.jp/20170920-01 import pyrebase PRJ_ID = "プロジェクトID" API_KEY = "ウェブAPIキー" config = { "apiKey": API_KEY, "authDomain": PRJ_ID + ".firebaseapp…

【Python】requestsのエラー処理

SSLのURLで requests を使用すると、↓以下のようなエラーが出ることがありました。 requests.exceptions.SSLError: HTTPSConnectionPool(host='【URL】 ', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE…

【Python】RSS2.0 の pubDate を 取得してみる

RSS 2.0 の pubDate は、 Sat, 08 Sep 2018 13:54:08 +0900 ↑こんな形式で書かれています。 この日付を取得してフォーマットを変えると、 ↓こんな感じになります。 import xml.etree.ElementTree as ET from urllib.parse import urlparse from dateutil.rel…

【Selenium】chrome拡張機能 を使ってActionButton をクリックする方法がわからない

Selenium + Python の環境で、chrome拡張機能を使いたいという状況が発生しました。 ↓こちらのサイトを参考にして、ブラウザに追加するところまではできました。 まず、 chrome://extensions ↑この拡張機能のページを開いて、「拡張機能をパッケージ化」を選…

【FlashAir】Pythonを使って、デジカメの写真をMacに保存してみる

デジカメの写真をMacに保存する方法を考えてみると、 【1】SDカードをデジカメから外して、Macに保存する 【2】デジカメのwifi機能を使ってアップロードする 【3】SDカード(Eye-fi)でアップロードする 【4】Mac側からデジカメに入っているSDカー…

【Selenium】Pythonで明示的な待機

指定のエレメントがあるかどうか一定の時間でチェックする。 https://kurozumi.github.io/selenium-python/waits.html from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWa…

【Python】urlをパースしていろんな値を取得してみる

urlparse を使うと、url で欲しい部分だけを抽出できました。 URLからドメイン名を抽出する - Python学習講座 from urllib.parse import urlparse # 解析対象URL access_url = 'http://www.python.ambitious-engineer.com/archives/?s=hoge&x=0&y=0' # URLを…

【Python】クラスメソッドとスタティックメソッド

@classmethod def class_method(cls): print "%s, class_var: %s" % (cls, cls.class_var) @staticmethod def static_method(): print "%s, class_var: %s" % (ClassSample, ClassSample.class_var)

【Python】SSH接続経由で、MySQLサーバーに接続してみる

Python を使って、レンタルサーバーにSSH接続してから、 MySQLに接続して、insert したり、select したりしてみました。 from sshtunnel import SSHTunnelForwarder import mysql.connector def connect(sql): with SSHTunnelForwarder( ('【SSH接続先サーバ…

【Python】mysql-connector-python-rf ライブラリをインストールしようとしたらエラーが出た

Python から MySQLに接続しようと、「mysql-connector-python-rf」をpip インストールしようとしたら、 ↓こんな感じのエラーが出た。 「What does “error: option --single-version-externally-managed not recognized” indicate?」 なので、 pip install -U…

【Python】文字コードが utf-8 のJSONファイルを読み込む時の注意

utf-8 の文字コードのJSONファイルを読み込む時に、全角文字と濁点が別々になるという問題が起きました。 ↓こちらのサイトを参考にして、 以下のように記述します。 print(unicodedata.normalize('NFC', 【全文字列】]) これで普通に戻りました。

【Python】希に発生するRemoteDisconnected に対応する

Python でスクレイピング処理をしている時に、稀に「RemoteDisconnected」が発生することがありました。 ↓こんな感じで、try の中で使います。 from http.client import RemoteDisconnected try: test() except RemoteDisconnected: print("error!!") return

【Python】ローカルPCのIPアドレスを取得する

ローカルパソコンに入っている音楽ファイルを、 Google Home mini から出力するために、「IPアドレス」が必要になりました。 そこで、PythonからローカルPCのIPを調べることにしました。 import socket socket.gethostname() 'edosha_notepc' socket.gethost…

【Python】インデントの設定

Pythonのインデントはスペース4つにしようかな。 環境設定 → Inspections → PEP8 coding style violation → 右下に『indentaiton contains tab』を追加する

【Selenium + Python】クリックできな時の対処法

以下は、アンカーやボタンなどをクリックするコード。 driver.find_element_by_class_name('test') .click() しかし、なぜかこれがクリックできない時があります。 そんな時は、以下のようにjavascript の記述を試すとよいです。 element = driver.find_elem…

【Selenium + Python】Javascriptを使ってブラウザの下にスクロールする

Selenium + Python で、ブラウザの下にスクロールする時は、Javascript を使用します。 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

【Selenium】Pythonでログイン状態を保持する

Selenium と Pythonでログイン状態を保持する方法。 例えば、↓こちらのようにコードを書いて、実行し、 from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.binary_location = '/Applicati…

【Python】音楽ファイルのメタ情報を書き込む

↓こちらのサイトを参考にして、Python で、音楽ファイルのメタ情報を書き込みました。 import mutagen from mutagen.easyid3 import EasyID3 try: meta = EasyID3(【FilePath】) except mutagen.id3.ID3NoHeaderError: meta = mutagen.File(【FilePath】, ea…

【Lambda】Mac の Python を使ってたら、たくさんつまづいた

Lambda の pyhon を使ってコーディングしていたらいろいろつまづきました。 容量が大きいとインラインコードが使えない デプロイパッケージを展開した時に、おそらく10MB以上くらいで、ブラウザ上のインラインコードが使えなくなりました。 Lambda 関数 …

Mac に VirtualBox をインストールする方法

Mac に VirtualBox をインストールする時に、何度もつまづいたので覚え書き。 ・すべての野良アプリをインストールできるようにしておく。 ・command + R のリカバリーモードで起動し、SIPをOFFにしておく ユーティリティを開いて、ターミナルで以下のコマン…

【Lambda】python で s3 を使ってテキストの読み書きをしてみる

Lambda で python を使う時、テキストファイルの入出力は、s3 と連携してできるようです。 前提として、s3 の バケットやその中にあるファイルにアクセスできること。 権限がない時は、lambda からアクセスできるように、権限を付加しましょう! 書き込み ht…

【Lambda】python で GET変数を受け取る

Lambdaのpython でGET変数を受け取る方法です。 mode というGETの引数を参照する場合、 ↓こちらのサイトを参考にして設定します。 APIGATEWAY画面のアクションから、GETメソッドを追加 その中の、メソッドリクエストの中の、 URL クエリ文字列パラメータ に…

【Lambda】python の外部ライブラリをアップロードしてみる

Lambda のpython では、外部ライブラリをpip でインストールすることができないようです。 なので、↓こちらを参考にして、 ライブラリをZIPでアップロードすることができました。 ここで注意が必要なのは、追加アップロードではなく、全部を一気にアップロー…

PHP から Python プログラムを呼び出すときに注意すること

PHP から Python プログラムを呼び出しす時、 system_exec などを使いますが、 Python 単体で実行させた時は正常に動くのに、PHPから呼び出すとエラーになるということがありました。 1、import しているライブラリが指定のPython パス の中にはないものを…

【Python】ssh 接続後 scp でファイルをアップロードする

↓こちらのサイトを参考にして、scp を使ったファイルのアップロードをしました。 paramiko を使って Python で SFTP/SCPを行う - Librabuch from paramiko import SSHClient, AutoAddPolicy HOST = 'example.com' PORT = 22 USER = 'test_user' PRIVATE_KEY …