我正在尝试编写一个方法,从URL(php?id=2
,admin?id=34&page=2
等中提取查询参数。)。到目前为止我所做的只是那样,除非php部分没有.
,例如它将在https://example.com/subcat.php?id=2
上运行,但不在http://examples2.com/php?admin=2
上运行。
def obtain_inject_query(url):
queries = url.split("?")
data = queries[0].rsplit(".")[-1]
print ''.join(data) + "?" + queries[1]
# obtain_inject_query("https://example.com/admin?qt=123&america=1234")
# <= com/admin?qt=123&america=1234
# obtain_inject_query("https://example.com/subcat.admin?qt=123&america=1234")
# <= admin?qt=123&america=1234
如何解决这个问题,它只会提取查询而不是com
部分?
答案 0 :(得分:2)
使用urlparse
模块怎么样:
>>> from urlparse import urlparse
>>> o = urlparse('http://examples2.com/php?admin=2')
>>> o
ParseResult(scheme='http', netloc='examples2.com', path='/php', params='', query='admin=2', fragment='')
>>> o.query
'admin=2'