2017-06-01 22 views
0

我做了requests.get呼叫使用下列URL工作:Requests.get不能以&字符

https://api.datasource.com/apps/ios/ranking?countries=NL&categories=Overall > Kids > 5 & Under&device=ios&ranks=1000 

我得到一個錯誤消息"categories" has an illegal value "Overall這是由於在總體上&標誌>兒童> 5 &

什麼是逃避這個角色的最佳方法?

+3

[url中逃逸符號]的可能的複製(https://stackoverflow.com/questions/16622504/escaping-ampersand-in-url) – Gannon

回答

3

而不是直接在URL中傳遞查詢參數,requestslets you pass them在字典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]> 
+0

正是我所期待的。謝謝! – user3642173