Bonsoir,

je souhaiterais comprendre pourquoi mon code ne me permet pas de récupérer le nom de l'hotel.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
import scrapy
from scrapy.crawler import CrawlerProcess
import logging
from pathlib import Path
 
class BookingspiderSpider(scrapy.Spider):
    name = 'bookingspider'
    start_urls = ["https://www.booking.com/index.fr.html"]
    custom_settings={ 'FEED_URI': "hotels.json",
                    'FEED_FORMAT': 'json'}
 
    def parse(self, response):
        return scrapy.FormRequest.from_response(response,
                                                formdata={"ss" : "Lyon"},
                                                callback=self.after_form)
    def after_form(self, response):
        yield{
            "url" : response.url,
            "hotel_name" : response.xpath('//*[@id="hotellist_inner"]/div[1]/div[2]/div[1]/div[1]/div[1]/h3/a/span[1]/text()').get()
        }
J'avoue avoir essayer beaucoup de choses et le problème vient soit du xpath (et dans ce cas je ne vois pas mon erreur) ou ailleurs et là je sèche.

Merci d'avance pour vos pistes