Bargain Netのドメインを移行した話

Bargain Netはtaichino.comのサブドメイン(bargainnet.taichino.com)で運用していたのですが、諸事情ありまして別のドメイン(bargain-net.info)に移転しました。そのときの作業ログを残しておきます。なおBargain NetはDjangoで作成しています。

Continue reading “Bargain Netのドメインを移行した話”

[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でソーシャルアカウントを扱う”

PyPI Rankingを書き直した

GAEで運用してたPyPI Rankingですがモジュール数が増えたのとGAEが値上げしたのとで、無駄にコストかかってた(3000円/月くらい)割に、満足にクロールできないわ、全文検索できないわで不満がたまってきたので書き直してさくらVPSに移動しました。それに伴って環境はapp-engine-patchからDjangoに変更しています。GAEはロックインのされっぷりが他に比べて激しいので、使いどころが難しくなりましたね。せっかく勉強したのでうまい活用方法を考えたいところです。この前書いたロゴはこのサイト用だったわけですね。

PyPI Ranking

Continue reading “PyPI Rankingを書き直した”