Python-更改请求参数,因此它不会以“?=“和“&”开头

时间:2018-08-29 08:21:52

标签: python-requests

所以我一直在努力弄清楚如何处理请求。

所以现在我已经做了类似的事情:

url = 'www.helloworld.com'

params = {
    "": page_num,
    "orderBy": 'Published'
}

headers = {
    'User-Agent': ('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36'
                   ' (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36')
}

resp = requests.get(url, headers=headers, params=params, timeout=12)
resp.raise_for_status()

print(resp.url)

基本上,现在它的打印方式是:

www.helloworld.com/?=2&orderBy=Published

我希望拥有的是:

www.helloworld.com/2?orderBy=Published

我如何能够更改params请求,使其最终像上面一样?

1 个答案:

答案 0 :(得分:1)

您的问题是,您正在尝试修改目标URL路径,而不是参数。因此,您不能使用请求中的params参数来实现此目的。

我建议2种选择来做您想做的事情:

使用apirequests的示例:

import apirequests

client = apirequests.Client('www.helloworld.com')
resp = client.get('/2', headers=headers, params=params, timeout=12)
# note that apirequests calls "resp.raise_for_status() automatically