>> work.log

チラ裏です

Google Cloud Datastoreにデータを登録する(Not GAE)

GAEからではなく、ローカルからPython3でCloud Datastoreにデータを登録してみました。


GAE/Pyでrequestsを使う

今までGAEから他サービスへhttpのリクエストを投げる場合はurlfetchを使っていました(それしか使えなかった?)。 最近マニュアルを見たらurlfetch以外にもurllib2やrequestsを使えるとあったので、requestsでリクエストする方法の紹介します。


No crypto library availableと出た場合

google-api-python-clientを使ったAPI認証時に

Traceback (most recent call last):
  File "xxxxx.py", line 30, in <module>
    main()
  File "xxxxx.py", line 18, in main
    scope)
  File "python3.5/site-packages/oauth2client/util.py", line 140, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "python3.5/site-packages/oauth2client/client.py", line 1630, in __init__
    _RequireCryptoOrDie()
  File "python3.5/site-packages/oauth2client/client.py", line 1581, in _RequireCryptoOrDie
    raise CryptoUnavailableError('No crypto library available')
oauth2client.client.CryptoUnavailableError: No crypto library available

Google App EngineでDebugログを出力する

App Engine(Python)で以下のようにした場合

import logging

logging.debug('spam')
logging.info('egg')
egg

のようにdebugログが表示されません。


DockerコンテナのPythonをPyCharmから実行する

先日リリースされたPyCharm 5でDockerコンテナにあるPythonを実行できるようになったの早速試してみました。


MUFGの残高照会botを作った話

みずほ銀行がこんなサービスを始めたそうですね。

LINEでかんたん残高照会

LINEでスタンプを送ると残高や直近の入出金明細を教えてくれるそうです。

このネタに乗っかるべくMUFG版をSlackで作ってみました。

※LINEでも非公式APIを使ってできそうですが、いろいろ怖いのでSlackにしました。


PythonでSlack botを作ってみる

自宅のRaspberry PiでHubotでSlackbotを作って動かしてますが、Hubotの場合CoffeeScriptで作るためCoffee力の低い自分には辛いものでした。

しかし、メルカリのエンジニアブログReal Time Messaging APIを使ってWebSocket通信ができるというのがわかってPythonで実装しました。

とは言っても、既にPython用のライブラリ(python-rtmbot)があったのをそれを使っただけです。


PythonとSeleniumでネットバンキングをスクレイピングする

Python東海 第28回勉強会の発表の中で、Seleniumでお小遣いを稼ぐという発表がありました。 Seleniumは名前は知っているけど使ったことがなかったのでネットバンキング(三菱東京UFJ銀行)で試してみました。


PILをインストールする

Python2.7の環境にpipでPILをインストールしようとすると↓のエラーがでました。

Could not find a version that satisfies the requirement PIL (from versions: )
Some externally hosted files were ignored as access to them may be unreliable (use --allow-external PIL to allow).
No matching distribution found for PIL

geventをインストールする

環境

  • Python 3.4.3

単純にpipインストールした場合、

$ pip install gevent

以下のエラーでインストールに失敗しました。

TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'