Python

【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.g…

【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 からアクセスできるように、権限を付加しましょう! 書き込み im…

【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 …

【Python】Selenium で basic認証

↓こちらのサイトを参考にして、Python+Selenium で basic認証のあるサイトにアクセスしました。 driver.get("http://username:password@hogehoge.com");

【Python】Beautiful Soup を使って 特定の文字を抽出してみる

↓こちらのサイトを参考に、Beautiful Soup を使って metaタグのog:urlを抽出してみる import requests from bs4 import BeautifulSoup url = "【URLが入ります】" res = requests.get(url) soup = BeautifulSoup(res.text, "html.parser") og_url = soup.fin…

【Selenium】Cookie を保持しておく方法

Selenium を使って、はてなブログへログインする方法に、 driver = webdriver.Chrome() を使う方法がありましたが、 同じ様にCookie を保持する方法として、以下のようなコードがありました。 opener = build_opener(HTTPCookieProcessor(CookieJar())) はて…

【Python】関数を呼び過ぎたらおこられた

けっこう長めのプログラムを走らせていたら、 Fatal Python error: Cannot recover from stack overflow. このようなエラーが出ました。 ↓こちらのサイトで調べてみると、スタックオーバーフロー、つまり関数呼びすぎの問題でした。 pythonでは再帰的に呼び…

Amazon Dash ボタン を押して イベントを取得してみる

↓こちらのサイトを参考に、Dash Buttonを押したイベントを取得したいと思います。 npm install をする際、python 3.x を使っているとエラーが出るみたいです。 なので、python2.7 を使います。 npm install --python=python2.7 ↓こちらのサイトを参考に、Das…