1

【はい、タイトルはタイプミスではありません!】

Python では、URL を解析するものが必要です。何か標準がまだ存在していないとは信じられません。URL は設定で設定されているので、ゴミでないことを確認したいと思います。

urlparse.urlparse がありますが、これは「有効な URL」のみを解析します (一部の無効な URL では文書化されていない ValueError が発生することがあります)。

例えば

>>> import urlparse
>>> urlparse.urlparse('http://aa :: aa ! aa:11.com:aa').netloc
'aa :: aa ! aa:11.com:aa'

無効な URL と見なされるものを urlparse が解析する方法を示します。

4

1 に答える 1

2

URL解析とURL検証は、実際には異なるタスクです。

urlparse.urlparse解析を行い、検証は通常、正規表現マシン(rePythonの組み込みモジュール)を使用して行われます。

DjangoフレームワークからのURL検証の例を次に示します。

regex = re.compile(
    r'^(?:http|ftp)s?://' # http:// or https://
    r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' #domain...
    r'localhost|' #localhost...
    r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip
    r'(?::\d+)?' # optional port
    r'(?:/?|[/?]\S+)$', re.IGNORECASE)
于 2012-08-15T10:32:58.743 に答える