URLから表示されるクエリ名と値を取得したい。たとえば。url='http://host:port_num/file/path/file1.html?query1=value1&query2=value2'
これから、クエリ名とその値を解析して出力します。
質問する
5273 次
2 に答える
8
正規表現を使用しないでください!urlparseを使用します。
>>> import urlparse
>>> urlparse.parse_qs(urlparse.urlparse(url).query)
{'query2': ['value2'], 'query1': ['value1']}
于 2012-04-04T10:46:43.683 に答える
3
regex
私は使用しないのが最善であり、使用する方が良いことに同意しますurlparse
が、ここに私のものがありますregex
。のようなクラスurlparse
は、すべてのURLを効率的に処理するために特別に開発されたものであり、信頼性が高いregex
ため、可能であればそれらを利用してください。
>>> x = 'http://www.example.com:8080/abcd/dir/file1.html?query1=value1&query2=value2'
>>> query_pattern='(query\d+)=(\w+)'
>>> # query_pattern='(\w+)=(\w+)' a more general pattern
>>> re.findall(query_pattern,x)
[('query1', 'value1'), ('query2', 'value2')]
于 2012-04-04T11:02:10.493 に答える