通过Python的urllib模块中的urlparse分析函数,可以把http协议中网址的各个字段内容分别解析出来,urlparse()函数的返回值是一个'urllib.parse.ParseResult'类,该类有以下6个属性段:
- 属性scheme:代表的是通信协议;
- 属性netloc:代表的是域名;
- 属性path:代表的是网页所在的位置和网页文件名;
- 属性params:代表的是路径字段参数;
- 属性query:是查询用的参数,也是GET的参数;
- 属性fragment:是片段项
下面,通过一个示例,看Python是如何解析网址的。
from urllib.parse import urlparse
urlParse = urlparse\
('http://write.blog.csdn.net/postedit?ticket=ST-74842-Xvqcb9juIohmn1Sy')
print(urlParse)
print(type(urlParse))
for term in urlParse:
print(term)
print("------------------------------")
print("1、scheme------>{}".format(urlParse.scheme))
print("------------------------------")
print("2、netloc------>{}".format(urlParse.netloc))
print("------------------------------")
print("3、path------>{}".format(urlParse.path))
print("------------------------------")
print("4、query------>{}".format(urlParse.query))
运行结果:
ParseResult(scheme='http', netloc='write.blog.csdn.net', path='/postedit', params='', query='ticket=ST-74842-Xvqcb9juIohmn1Sy', fragment='')
<class 'urllib.parse.ParseResult'>
http
write.blog.csdn.net
/postedit
ticket=ST-74842-Xvqcb9juIohmn1Sy
------------------------------
1、scheme------>http
------------------------------
2、netloc------>write.blog.csdn.net
------------------------------
3、path------>/postedit
------------------------------
4、query------>ticket=ST-74842-Xvqcb9juIohmn1Sy
Process finished with exit code 0