使用scrapy css从booking.com提取价格时出现问题

2024-05-29 07:06:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图从booking.com网站上提取酒店名称及其价格。我设法提取了酒店名称并将其存储在物品容器中,但是我很难从网页中提取出属于我的价格。 我的代码如下:

import scrapy

from ..items import KonkurrenzanalyseItem


class Konkurrenzanalyse(scrapy.Spider):
    name = 'Booking'
    start_urls = [
    'https://www.booking.com/searchresults.de.html?aid=304142&label=gen173nr-1DCAEoggI46AdIM1gEaDuIAQGYAQe4AQfIAQ3YAQPoAQGIAgGoAgO4AuadkPIFwAIB&sid=f5f5396810ee33128397135370be94ba&tmpl=searchresults&checkin_month=2&checkin_monthday=18&checkin_year=2020&checkout_month=2&checkout_monthday=19&checkout_year=2020&class_interval=1&dest_id=-1821233&dest_type=city&dtdisc=0&from_sf=1&group_adults=2&group_children=0&inac=0&index_postcard=0&label_click=undef&no_rooms=1&order=price&postcard=0&raw_dest_type=city&room1=A%2CA&sb_price_type=total&shw_aparth=1&slp_r_match=0&src_elem=sb&srpvid=704b677afe570188&ss=Lübeck&ss_all=0&ssb=empty&sshis=0&ssne=Lübeck&ssne_untouched=Lübeck&top_ufis=1&rows=25&offset=25'
    ]

    def parse(self, response):
        items = KonkurrenzanalyseItem()

        hotel_name = response.css('.sr-hotel__name::text').extract()
        hotel_price = response.css('.bui-price-display__value::text').extract()

        items['hotel_name'] = hotel_name
        items['hotel_price'] = hotel_price

        yield items

下一幅图表示我想从html代码中提取的价格: enter image description here

到目前为止,代码输出以下尚未列出价格的值: enter image description here

由于我在这个环境中是一个新手,如果我的问题没有100%准确地表达出来,请原谅


Tags: 代码namecomresponsetypeitems价格酒店

热门问题