如何解码包含加号的发布网址字符串

时间:2019-02-15 12:54:05

标签: python python-requests

我有一个经过编码的URL string(点击访问页面)

http://epub.sipo.gov.cn/patentoutline.action?strWhere=OPD%3D%272019.02.15%27+and+PA%3D%27%25%E5%8D%8E%E4%B8%BA%25%27

通过铬检查获得。我尝试编写一个请求发布功能来获取页面,我能弄清楚的是以下内容,但是它不能正常工作。令人不安的部分似乎是加号。 (如果没有and子句,则"OPD='2019.02.15'""PA='%华为%'"可以正常工作。)

import requests
url = 'http://epub.sipo.gov.cn/patentoutline.action'
params = {'strWhere': r"OPD='2019.02.15' and PA='%华为%'"} # cannot find results
# params = {'strWhere': r"OPD='2019.02.15'"} # works
# params = {'strWhere': r"PA='%华为%'"}      # works
r = requests.post(url, data=params)
print(r.content.decode())

1 个答案:

答案 0 :(得分:-1)

在网址中用替换空格%20

您可以在发送之前使用功能

str.replace(old, new[, max])

例如

params = {'strWhere': r"OPD='2019.02.15' and PA='%华为%'"} 
params['strWhere'] = params['strWhere'].replace(' ', '%20')