Python如何提取url中的参数

By 刘志军, 2019-05-07, 分类: qa

python

如何用 Python 提取URL中的参数,例如:

http://foofish.net?q=python&k=java 

提取其中的参数为字典对象

{
    "q": "python",
    "k": "java"
}

可以使用 urlib.parse 模块中的 urlpase 类来实现

>>> import urllib.parse as urlparse
>>> url = 'http://foofish.net?q=python&k=java'
>>> parsed = urlparse.urlparse(url)
>>> parsed
ParseResult(scheme='http', netloc='foofish.net', path='', params='', query='q=python&k=java', fragment='')

>>> querys = urlparse.parse_qs(parsed.query)
>>> querys
{'q': ['python'], 'k': ['java']}
>>> querys = {k: v[0] for k, v in querys.items()}
>>> querys
{'q': 'python', 'k': 'java'}

parsed 是一个tuple对象,把url分成了6个部分,query 属性就是查询参数部分,再通过 prase_qs 方法解析成字典对象,解析后,字典的value 是列表,因为同一个参数可以有多个值,我们只取第一个值。


有问题可以扫描二维码和我交流

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅

猜你喜欢

2015-12-16
Python列表对象实现原理
2018-09-27
关于Python包和模块的10个知识清单
2014-03-26
斐波那契数列(Fibonacci)递归与非递归的性能对比
2017-08-01
Python 2 和 Python 3 主要区别有哪些(一)?
2019-05-13
python3判断list是否为空
2017-11-08
Python每日一题:第4题:用Python实现斐波那契数列
2019-04-09
Python中如何合并两个字典
2015-11-25
OS X El-Capitan 安装 virtualenvwrapper 遇到 Operation not permitted
2016-12-07
好玩的Python彩蛋
2018-10-15
提升逼格的两个函数:setdefault 与 defaultdict