Я очищаю этот сайт: https://www.mrlodge.de/wohnungen/
Поэтому я написал сканер, который отлично работает и извлекает всю информацию из каждого предложения. Каждое предложение также имеет подробную информацию. Это подробная информация, которую я могу получить с помощью URL, возвращенного этим выражением xpath:
x = listings.xpath('//form/input[@name="name_url"]/@value').getall()
Проблема, с которой я сталкиваюсь, заключается в том, что она находится внутри блока предложений, но не внутри тегов div, которые я уже зацикливаю. Я пробовал следующее, но я получил только первый элемент для detail_url. Должен быть способ включить его в цикл for, но я просто не понимаю, как.
Пожалуйста, помогите
def parse(self, response):
json_response = json.loads(response.body)
listings = Selector(text=json_response.get('list'))
x = listings.xpath('//form/input[@name="name_url"]/@value').get()
for listing in listings.xpath("//div[@class='mrlobject-list__item__content']"):
yield {
'title': listing.xpath('.//div[@class="obj-smallinfo"]/text()').get(),
'rent': listing.xpath(".//span[@class='obj-rent']/text()").get(),
'room': listing.xpath(".//span[@class='obj-room']/text()").get(),
'area': listing.xpath(".//span[@class='obj-area']/text()").get(),
'info': listing.xpath(".//div[@class='object-title']/text()").get(),
'detail_url': x
}