У меня сработал следующий подход.
import json
headers = {
'Pragma': 'no-cache',
'Origin': 'https://www.mrlodge.de',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-GB,en;q=0.9,nl-BE;q=0.8,nl;q=0.7,ro-RO;q=0.6,ro;q=0.5,en-US;q=0.4',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Cache-Control': 'no-cache',
'X-Requested-With': 'XMLHttpRequest',
'Connection': 'keep-alive',
'Referer': 'https://www.mrlodge.de/wohnungen/',
}
data = [
('mrl_ft[fd][date_from]', ''),
('mrl_ft[fd][rent_from]', '900'),
('mrl_ft[fd][rent_to]', '8500'),
('mrl_ft[fd][persons]', '1'),
('mrl_ft[fd][kids]', '0'),
('mrl_ft[fd][rooms_from]', '1'),
('mrl_ft[fd][rooms_to]', '9'),
('mrl_ft[fd][area_from]', '20'),
('mrl_ft[fd][area_to]', '480'),
('mrl_ft[fd][sterm]', ''),
('mrl_ft[fd][radius]', '50'),
('mrl_ft[fd][mvv]', ''),
('mrl_ft[fd][objecttype_cb][]', 'w'),
('mrl_ft[fd][objecttype_cb][]', 'h'),
('mrl_ft[page]', '2'),
]
yield Request(url, method='POST', headers=headers, body=json.dumps(data))
Конечно, вам придется динамически устанавливать некоторые значения в данных - например, mrl_ft [page] - для просмотра всех страниц.