4

Pythonのような文字列があり、google.com2つの部分に分割したいと思います:google.com。問題は、とsubdomain.google.comに分割したいなどのURLがある場合です。subdomain.google.com

残りのURLをTLDから分離するにはどうすればよいですか?.などのTLDのため、URLの最後に基づいて動作することはできません.co.uk。URLにはhttp://またはwwwが含まれていないことに注意してください。

4

3 に答える 3

6

tldextractは必要なもののように見えます。それは.co.uk問題を扱います。

于 2012-06-03T14:39:04.580 に答える
1

tdlurllibを使用しましたが、満足のいくものではありませんでした。この質問は、URLの解析方法に関するGoogle検索で何度も見つかりました。しばらくして、時間をかけて正規表現を作成し、オープンソースパッケージにしました。

co.ukのようなセカンダリトップドメインを持つURLを処理し、特殊文字を使用した国内URLもサポートします。

GitHubのPyPiURLパーサーのurlパーサー

あなたにとって、それはこのようにそれを使うのは簡単でしょう:

第一歩:

pip install url-parser

ステップ2:

from url_parser import parse_url


url = parse_url('subdomain.google.com')
url['subdomain'] # subdomain
url['domain'] # google
url['top_domain'] #com

これらのキーを使用して、URLの別の部分を取得できます。

  • protocol
  • www
  • sub_domain
  • domain
  • top_domain
  • dir
  • file
  • fragment
  • query
于 2020-01-31T21:14:08.080 に答える
0

これを行うには、有効なドメイン名のリストが必要になります。トップレベルのもの(.com、.orgなど)と国コード(.us、.frなど)は簡単に見つけることができます。http://www.icann.org/en/resources/registries/tldsを試してください。

第2レベルのもの(.co.uk、.org.au)の場合、サブドメインを確認するために各国コードを検索する必要がある場合があります。ウィキペディアはあなたの友達です。

リストを取得したら、名前(google.comまたはco.uk)から最後の2つの部分を取得し、それが第2レベルのリストに含まれているかどうかを確認します。そうでない場合は、最後の部分を取得して、それがトップレベルのリストにあるかどうかを確認します。

于 2012-06-03T15:49:51.230 に答える