Requests.get无法与&字符一起使用

use*_*173 2 python python-requests

我正在使用以下网址进行request.get调用:

https://api.datasource.com/apps/ios/ranking?countries=NL&categories=Overall > Kids > 5 & Under&device=ios&ranks=1000
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,"categories" has an illegal value "Overall这是由于“总体>儿童> 5 岁以下”中的&号引起的

逃脱此角色的最佳方法是什么?

Kat*_*iel 5

与其直接在URL中传递查询参数,requests 不如在字典中传递查询参数params并处理URL编码。(在这种情况下,您需要对“&”号进行转义。)

In [15]: params = dict(countries='NL', categories='Overall > Kids > 5 & Under', device='ios', ranks=1000)

In [16]: requests.get("http://www.example.com", params=params)
Out[16]: <Response [200]>
Run Code Online (Sandbox Code Playgroud)