いまさらPython 3

今まで全然追いかけてなかったのですが、僕が過去に書いたPythonモジュールを、Python3に対応させろやというコメントが複数件来まして、それでも放置してたらpull requestまで送りつけられたので、重い腰を上げて調べました。

3.0〜3.3までのWhat’s Newのページを眺めてみて、目に留まった項目をチョロチョロ書いてみます。というか3.0ってもう4年以上前にリリースされてるんですね。全然普及してる感じがしないですけど。

2008.12.03 What’s New in Python 3.0
2009.06.27 What’s New in Python 3.1
2011.02.20 What’s New in Python 3.2
2012.09.29 What’s New in Python 3.3

Continue reading “いまさらPython 3”

PythonでGoogle AnalyticsのAPIを叩く

ちょっとGoogle AnalyticsのWebだとやりにくいアクセス集計がやりたくて、Analytics APIを叩いてみました。以前Google CalendarのAPIを使った事があるので大丈夫かと思ったら、結構手間取ったので記録しておきます。

Continue reading “PythonでGoogle AnalyticsのAPIを叩く”

Pythonの連続forループが読めない

入門自然言語処理を読んでいると以下のようなコードがやたらでてきますが全然読めるようにならないので覚え書きです。for文が連続して2回来てます。StackOverflowにも同様の質問があがっています。

all_tags = [tag for article in articles for tag in article.tags]

Continue reading “Pythonの連続forループが読めない”

[Python] 正規表現でHTMLからテキストだけ抽出する

あまり使う事はないのですが、たまにあれどうするんだっけと思うので記事にしておきます。

とりあえず何となく自分で書いてみたのが以下のようなコードなんですが、タグも取りきれてないし色々微妙で、正規表現面倒くさくて辛いです。

def strip_tag(url):
    resp = requests.get(url)
    texts = re.findall(r'<[^>]+?>(.+?)<\/[^>]+?>', resp.content)
    return " ".join(texts)

Continue reading “[Python] 正規表現でHTMLからテキストだけ抽出する”

Djangoでソーシャルアカウントを扱う

先日の番付メーカーではTwitterとFacebookのアカウントでログインできるようになっています。

ソーシャルアカウントを使うと、地味なくせに工数のかかるユーザ管理を実装せずにすむので助かりますね。ところがソーシャルアカウントを扱うのも楽チンとまでは言えません。そもそもOAuthの処理を実装するのも面倒ですし、TwitterとFacebookを両方扱うとなってくると割と大変です。加えてGoogle+だYahooだとなってくると頭が痛くなってきます。

Hextrisを作ったときは自前でTwitterのOAuthでのログイン処理を書いたのですが、今回はFacebookアカウントも扱うというので複雑度が3倍くらいになって面倒です。

これはアカン、なんか無いのと思って調べてみるとDjango-Social-Authというナイスモジュールが見つかりました。これはDjangoのアプリとして実装されているソーシャルアカウント管理モジュールで、今のところ20を超えるソーシャルサービスに対応しています。Twitter・Facebookどころか、EvernoteやらInstagramやらDropboxやらメボしいサービスが、ほぼ網羅されています。素晴らしいですね。というわけで簡単に使い方をメモしておきます。

ちなみに使用可能なサービス一覧はコチラで確認できます。

Continue reading “Djangoでソーシャルアカウントを扱う”