Zac*_*ack 0 python string split get delimiter
我有一个GET请求类型字符串,我需要使用python解析.
blahdeblahdeblah?query=This is the query&time=8:30
Run Code Online (Sandbox Code Playgroud)
有没有人知道提取我想要的字符串的方法,这样我就可以做类似的事情
query= This is the query
time= 8:30
Run Code Online (Sandbox Code Playgroud)
请记住,我的一些字符串可能没有时间.所以举个例子
blahdeblahdeblah?query=This is a query without a time
Run Code Online (Sandbox Code Playgroud)
我也需要处理.我怎么能这样做?我不确定像splitstring这样的东西会对此有用,因为可以选择是否有一些变量.
use urlparse.urlparse()("将URL解析为六个组件,返回一个6元组.这对应于URL的一般结构:scheme:// netloc/path; parameters?query#fragment.")和urlparse.parse_qs()("解析一个查询字符串给出作为字符串参数(类型为application/x-www-form-urlencoded的数据).数据作为字典返回.字典键是唯一的查询变量名称,值是每个名称的值列表.")
>>> from urlparse import urlparse
>>> from urlparse import parse_qs
>>> urlparse('http//www.domain.com/path?a=1&b=2')
ParseResult(scheme='http', netloc='www.domain.com', path='/path', params='', query='a=1&b=2', fragment='')
>>> parse_result = urlparse('//www.domain.com/path?a=1&b=2')
>>> parse_qs(parse_result[4])
{'a': ['1'], 'b': ['2']}
Run Code Online (Sandbox Code Playgroud)
您的示例可能如下所示:
>>> for k,x in parse_qs(urlparse('blahdeblahdeblah?query=This is the query&time=8:30')[4]).items():
... print '%s=%s' % (k, x)
...
query=['This is the query']
time=['8:30']
Run Code Online (Sandbox Code Playgroud)
有关urlparse和parse_qs的信息,请参阅Python文档