我有一个页面,我想从中获取数据和示例请求调用,例如http://smepage.com?select="name","numer"&where=number="10"
为了获取数据,我使用 python 请求并且它有效:
URL=http://somepage.com?select="name","numer"&where=number="10"
requests.get(URL)
但是有没有可能使用dict或者其他一些容器来传递参数呢? 我尝试使用 json 但它没有用
params = {
"select":["name","numer"],
"where": {"number":"5"}
}
URL=http://somepage.com
requests.get(URL, json=params)
尝试在
params
调用中使用命名参数 requests.get
传递查询参数。
这段代码应该做你想做的事。
import requests
params = {"select": ["name", "numer"], "where": {"number": "5"}}
url = "http://somepage.com"
response = requests.get(url, params=params)
print(response.text)
您有部分查询
?select="name","numer"
。这将传递一个值作为 select
参数,即字符串 '"name","numer"'
。然而,在您的 params
字典中,您有 select
参数 ["name", "numer"]
,它将传递一个包含两个值的列表,就像您指定了 ?select=name&select=numer
一样。所以不清楚你真正想要传递的是什么。但是如果我按照你原来的 URL,那么:
params = {"select": '"name","numer"', "where": 'number="10"'}
url = "http://somepage.com"
# params=params, not json=params:
response = requests.get(url, params=params)
print(response.text)
您需要为
params
指定一个字典,其键是参数名称,其值是字符串或字符串列表,然后将此字典作为params参数传递给
get
。