Problem1092--URL 中提取域名、路径和参数列表

1092: URL 中提取域名、路径和参数列表

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 348  Solved: 90
[Submit] [Status] [Web Board] [Creator:]

Description

从 URL 中提取 协议(protocal)、主机名(netloc)、端口(port)、路径(path)、参数(params)、查询(query)和信息片断(fragment)。
其中 URL 满足以下格式:
URL = protocol :// hostname[:port] / path / [;parameters][?query]#fragment

Input

多行,一行一个 URL。

Output

多行,与输入对应,每行输出一个字典,对应格式见样例。

Sample Input

http://blog.csdn.net/test/page/a.php?language=python#12121
http://python.xidian.edu.cn/index
http://14.215.177.39:6470/

Sample Output

{'hostname': 'blog.csdn.net', 'protocol': 'http', 'query': 'language=python', 'fragment': '12121'}
{'hostname': 'python.xidian.edu.cn', 'protocol': 'http', 'query': '', 'fragment': ''}
{'hostname': '14.215.177.39', 'port': '6470', 'protocol': 'http', 'query': '', 'fragment': ''}

HINT

本题需要使用 urllib 库来解决,相关资料:
https://www.jianshu.com/p/e7d87e1ed38c


字典的构造顺序:hostname, port, protocol, query, fragment
如果没有端口信息则不需要在字典里面输出端口!


样例及测试数据中的 URL 为人为构造,若有雷同,纯属巧合!!

Source/Category


[Submit] [Status]