以编程方式通过邮递员获取请求 headers

Get request headers through postman programatically

我正在尝试抓取这个真实的网站:https://www.metrocuadrado.com/ 使用 python 库请求。

我面临的问题是一个简单的请求给我一个禁止状态代码:

导入请求

url = 'https://www.metrocuadrado.com/'
r = requests.get(url)
print(r)
403

当我使用 Postman 发出此请求时,它有效并将其作为正确的参数提供给我:

import requests

url = "www.metrocuadrado.com"

payload={}
headers = {
  'Cookie': 'incap_ses_1345_434661=U9U2AdMp+jJQ7opPnGaqEkixJ2EAAAAAH421XYzlPOjxBvHbjDdbDg==; visid_incap_434661=pfcTeEkUQI+PMJLNMKGO0XmIJ2EAAAAAQUIPAAAAAADXG52+V+y5UkqEQzQ3z2Af'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

然后我将其复制到我的编辑器上并开始工作,问题是 cookie 几乎每 5 分钟更改一次,我需要抓取网站上的所有属性。我正在寻找一些 tool/library 允许我通过邮递员发送请求、获取 cookie 然后使用请求的东西。

作为一个选项,我尝试使用 selenium get_cookies(),但这些 cookie 与邮递员提供的不同,并且不适用于请求

@David Lopez 我得到了工作输出。

代码:

import json
import requests


    url = "https://www.metrocuadrado.com/rest-search/search?realEstateTypeList=apartamento&realEstateBusinessList=venta&realEstateStatusList=nuevo&from=50&size=50"
    headers = {
        "Referer": "https://www.metrocuadrado.com/apartamento/venta/nuevo/?search=form",
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
        'x-api-key': 'P1MfFHfQMOtL16Zpg36NcntJYCLFm8FqFfudnavl'
    }
    data = requests.get(url, headers=headers).json()
    
    print(json.dumps(data, indent=4))