0

URL のリストがあり、指定された URL パターンと名前のリストからサービスの名前を見つけたいです. 現在、私は URL を選択し、それをすべてのパターンと一致させます. どちらのリストも巨大になる可能性があるため、URL の最良の方法は何ですか? (s) パターンマッチングとサービス名の検索? 現在の実装は以下です。

URL
http://www.facebook.com
http://0.facebook.com
http://m.facebook.com
http://www.linkedin.com

パターン サービス名
facebook.com Facebook
linkedin.com LinkedIn

def get_service_name(url, services_details):
    url = url.rsplit('?')
    # urls pattern matching
    for service in services_details:
        if len(url) > 1:
            if service[0] in url[0]:
                return service[1]
        else:
            if service[0] in url:
                return service[1]
    return "Unknown Service"
4

1 に答える 1

0

urlparseモジュールを使用して、URL を解析し、netloc 属性を調べます。

次のようなサービスの辞書と比較してください。

{
    'facebook.com': 'Facebook',
    'linkedin.com': 'LinkedIn', 
}

先頭の を削除または追加するには、追加の正規化手順が必要になる場合がありますwww

于 2013-09-02T13:23:07.743 に答える