データ分析エンジニアのブログ

日常のことからプログラミングや機械学習まで@六本木

PythonでURLのプロトコル(http://,https://)を消す方法


こんにちは。
最近はPythonを使ってツイートの分析をしています。


具体的にはクラスタリングやtf-idfなどの手法を使って、クラスタリングした後に
そのクラスターの特徴語を抜き出すということをやっています。


tf-idfの結果を見ると、
ところどころhttpやコロン、スラッシュという文字があったので、
形態素解析前の処理として、プロトコルを消す処理を書きました。

#! /usr/bin/python
# coding: UTF-8

import re
text ="https://twitter.com, facebook:http://facebook.com/control/event"

while re.search(r'(https?://[a-zA-Z0-9.-]*)', text):
    match = re.search(r'(https?://[a-zA-Z0-9.-]*)', text)
    if match:
        replace = match.group(1).split('://')
        text =  text.replace(match.group(1), replace[1])


reモジュールのsearchで正規表現で対象の文字列を探して、
文字列のreplaceでテキストを置換しています。


うまい方法を使えば一発でreを使っていけそうな気がするんですが、
やり方が分からなかったので、この方法でやりました。


Pythonの文字列置換には三種類ほどやり方があって、
このURLに各方法の速度について載っていたので、紹介しておきます。
http://sucrose.hatenablog.com/entry/2013/01/10/193205