我正在学习如何使用python以编程方式查询API。我能够对API进行身份验证并获得200响应。
当我通过这样的参数时:
parameters = {"q": "serial_number:actual_serial"}
然后print(response.text)
我得到了我期望的数据。
当我通过这样的参数时:
parameters = {"q": "serial_number:actual_serial"&"rows=5"}
我明白了:
parameters = {"q": "serial_number:actual_serial"&"rows=5"}
TypeError: unsupported operand type(s) for &: 'str' and 'str'
当我尝试使用逗号时:
parameters = {"q": "serial_number:actual_serial", "rows=5"}
我得到了
parameters = {"q": "serial_number:actual_serial", "rows=5"}
^
SyntaxError: invalid syntax
所以我没有正确格式化参数的第二部分。我错过了什么?
我正在使用python3.4
当我使用Web API查询同一查询时,我得到的URL是:
https://.......?q=state%3APENDING_DESTRUCTION&rows=5&......
(抱歉,混淆了网址)。
答案 0 :(得分:1)
这不是有效的Python,没有。您必须在字典中提供key: value
对,以逗号分隔。在逗号之后,您的第二部分没有key: value
对。
如果row
是另一个参数,值为5
,请将其作为键值对放入Python字典中:
parameters = {"q": "serial_number:actual_serial", "row": 5}
然后requests
库负责将该字典转换为正确的URL查询字符串。