下文中使用的 URL 地址是:https://www.example.com/?keyword=abc&id=12
Python 解析获取 URL 参数的步骤如下:
首先导入 Python3 自带的urllib.parse
该模块用于将 URL 解析为各部分(需要注意的是解析的是字符串,所以要加引号):
>>> from urllib import parse
或者
>>> from urllib.parse import urlparse
然后使用urlparse
来将字符串解析成 URL
>>> url ParseResult(scheme='https', netloc='www.example.com', path='/', params='', query='keyword=abc&id=12', fragment='')
或者直接
>>> url=urlparse("https://www.example.com/?keyword=abc&id=12")
这时候url
变量就包含了 URL 的各部分信息,如下:
>>> url ParseResult(scheme='https', netloc='www.example.com', path='/', params='', query='keyword=abc&id=12', fragment='')
可以通过以下方式来访问其中某一部分的内容,这里以query
部分为例(也就是参数部分):
>>> url.query 'keyword=abc&id=12'
转换成字典格式
假如需要将其以字典格式返回,那么就需要使用parse.parse_qs
:
>>> parad=parse.parse_qs(url.query) >>> parad {'keyword': ['abc'], 'id': ['12']}
也可以获取其中某一个参数对应的值,如下:
>>> para.get('id') ['12']
或者直接使用:
>>> parse.parse_qs(url.query).get('id') ['12']
转换成列表格式
假如需要将其以列表格式返回,列表里的元素是元组(tuple)格式,那么就需要使用parse.parse_qsl
:
>>> paral=parse.parse_qsl(url.query) >>> paral [('keyword', 'abc'), ('id', '12')]
使用起来,没有字典那么方便直接,如下:
>>> paral[0][0] 'keyword'
更详细严谨的介绍和使用方法可以查看官方文档:https://docs.python.org/3/library/urllib.parse.html
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理