我有一个经过编码的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())
答案 0 :(得分:-1)
在网址中用替换空格
%20
您可以在发送之前使用功能
str.replace(old, new[, max])
例如
params = {'strWhere': r"OPD='2019.02.15' and PA='%华为%'"}
params['strWhere'] = params['strWhere'].replace(' ', '%20')