POST requests 给我一个空的结果

POST requests gives me an empty result

出于练习目的,我尝试通过发布数字 1000000

https://www.ruc.com.py/ 检索数据

起初它检索到“无法访问”消息,所以我添加了 headers 并解决了它。但现在它只是带来一个空白结果,我期待得到一个与输入 1000000

对应的名称

这是我的代码:

import requests

headers = {
'referer': 'https://www.ruc.com.py/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36',
'x-requested-with': 'XMLHttpRequest'
}

num=str(1000000)

url = 'https://www.ruc.com.py/index.php/inicio/consulta_ruc'
response = requests.post(url , headers=headers, data=num)

print (response.text)

查看网站的网络选项卡,发现 POST 有效负载需要在表单字段上进行搜索 buscar

有了这个,只需对您的代码做这个小改动就可以实际发送具有预期数据结构的有效负载:

import requests

headers = {
'referer': 'https://www.ruc.com.py/',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36',
'x-requested-with': 'XMLHttpRequest'
}

data={"buscar": 1000000}

url = 'https://www.ruc.com.py/index.php/inicio/consulta_ruc'
response = requests.post(url, headers=headers, data=data)

print(response.json())