【问题标题】:How to print Exact data from URL [duplicate]如何从 URL 打印精确数据 [重复]
【发布时间】:2018-03-31 15:47:23
【问题描述】:

使用 Python 如何从如下 URL 打印request_token

https://kite.trade/?request_token=p87tOTSXRSp4O20TGr870n2JiXFKISIh&action=login&status=success

IE:=& 之间的文本,跟在 request_token 之后。

【问题讨论】:

    标签: python url urllib


    【解决方案1】:

    我认为您正在寻找的是来自urllib.parseparse_qs

    from urllib.parse import urlparse, parse_qs #import stuff
    
    #parse the url
    url_obj = urlparse('https://kite.trade/?request_token=p87tOTSXRSp4O20TGr870n2JiXFKISIh&action=login&status=success')
    #get a dictionary from the query
    q_dict = parse_qs(url_obj.query)
    #now get query args by key name. 
    print(q_dict["request_token"])
    print(q_dict["status"])
    

    Here is a link to the documentation for parse_qs.

    【讨论】:

      【解决方案2】:

      在python 2中使用urlparse库https://docs.python.org/2/library/urlparse.html

      或者python 3中的urllib.parse https://docs.python.org/3/library/urllib.parse.html

      【讨论】:

        【解决方案3】:

        您可以使用字符串函数拆分字符串并将查询放入字典中,例如:

        代码:

        url = 'https://kite.trade/?request_token=p87tOTSXRSp4O20TGr870n2JiXFKISIh&' \
              'action=login&status=success'
        
        query = dict(a.split('=') for a in url.split('?')[1].split('&'))
        print(query)
        

        你可以使用 urllib 来做同样的事情:

        import urllib
        query = urllib.parse.parse_qs(urllib.parse.urlparse(url).query)
        print(query['request_token'][0])
        

        结果:

        {'request_token': 'p87tOTSXRSp4O20TGr870n2JiXFKISIh', 'action': 'login', 'status': 'success'}
        p87tOTSXRSp4O20TGr870n2JiXFKISIh
        

        【讨论】:

        • @KiranKumarReddy,非常欢迎您。但是,在 SO 上表示感谢的最佳方式是对您认为有用的 任何 问题或答案进行投票。对于您的问题,如果其中一个答案非常适合您的问题,您可以将其标记为已接受的答案。有关指南,请参阅 Help Center
        猜你喜欢
        • 2016-10-03
        • 1970-01-01
        • 2016-04-30
        • 2021-05-15
        • 1970-01-01
        • 2011-03-14
        • 2016-09-03
        • 1970-01-01
        • 2017-03-02
        相关资源
        最近更新 更多