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"