以编程方式通过邮递员获取请求 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))
我正在尝试抓取这个真实的网站: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))