Я пытаюсь написать простую функцию, которая бы легко извлекала контактную информацию из классифицированного списка.
Фон
URL-адрес, на который я смотрю, https://www.idealista.pt/imovel/27542922/
Просматривая инструменты разработчика в Chrome, я вижу, что он отправляет запрос GET на этот URL. https://www.idealista.pt/pt/ajax/listingController/adContactInfoForListing.ajax?adId=27542922
Если я сделаю запрос GET в Почтальоне или просто скопирую второй URL в Chrome, я получу JSON, содержащий различные сведения.
Мой код
(Ruby)
uri = URI('https://www.idealista.pt/pt/ajax/listingController/adContactInfoForListing.ajax?adId=27542922')
foo = Net::HTTP.get(uri)
JSON.parse(foo)
Проблема
Ответ - 403 с телом, сообщающим, что система обнаружила, что было выполнено много запросов в короткий промежуток времени.
Я могу повторить это в Почтальоне, выполнив семь или восемь последовательных запросов, но затем, если я подожду минуту или две, прежде чем попытаться снова, я вернусь к просмотру JSON.
Через Ruby это происходит сразу.
То, что я пробовал
Я пытался скопировать некоторые или все временные заголовки, созданные Почтальоном, в мой запрос в Ruby но я все равно получаю ту же ошибку или 404
User-Agent - PostmanRuntime/7.22.0
Accept - */*
Cache-Control - no-cache
Postman-Token - 6c68a9eb-83d5-4724-9f41-3fc51971db9f
Host - www.idealista.pt
Accept-Encoding - gzip, deflate, br
Cookie - userUUID=c017919a-6115-4905-95b3-5d949c6fb447; _pxhd=34ed938caca242bf6050147e1514cda07b704cc7681245a4beec5a64e0a5cf66:d4f21381-522a-11ea-a954-6f59910ff05b; SESSION=887b6dbc-78a4-4abd-9600-7ce401507331; WID=15a353ca7aab3446|XlEN6|XlEN4
Connection - keep-alive