从URL中提取查询

时间:2017-01-10 16:24:10

标签: python url

我正在尝试编写一个方法,从URL(php?id=2admin?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部分?

1 个答案:

答案 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'