Не удается получить какие-либо данные при очистке с помощью scrapy / splash

#scrapy #scrapy-splash

#scrapy #scrapy-splash

Вопрос:

я пытаюсь очистить данные из airbnb, поэтому я использую scrapy-splash для javascript, но я не могу получить никаких данных! я могу извлечь из него данные с помощью scrapy-selenium, но он медленный, и иногда некоторые данные отсутствуют, мне приходится повторять сканирование scrapy, чтобы получить их. поэтому я использовал scrapy-splash на другой странице ‘https://www.livecoin.net/en ‘который использует javascript, и он работал отлично, но когда я использую его на этой странице с тем же кодом, но меняю URL и теги, он не работает.

 # -*- coding: utf-8 -*-

import scrapy
from scrapy_splash import SplashRequest
class CoinSpider(scrapy.Spider):
name = 'airbnbtest'

script = '''
    function main(splash, args)
        splash.private_mode_enabled = false
        url = args.url
        assert(splash:go(url))
        assert(splash:wait(5))
        splash:set_viewport_full()
        return splash:html()
    end

'''
def start_requests(self):
    yield SplashRequest(url="https://fr.airbnb.com/rooms/908350?adults=1amp;check_in=2020-12-15amp;check_out=2020-12-19amp;source_impression_id=p3_1606413122_qj9zG9UIi4WW/KUyamp;guests=1", callback=self.parse, endpoint="execute", args={
        'lua_source': self.script
    })

def parse(self, response):
   a=response.xpath('(//div[@class="_1qsawv5"]//text())[1]').get()
   print(a)
 

settings.py

 BOT_NAME = 'worldometers'
SPIDER_MODULES = ['worldometers.spiders']
NEWSPIDER_MODULE = 'worldometers.spiders'
ROBOTSTXT_OBEY = True
SPIDER_MIDDLEWARES = {
'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,}
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,}
 DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
 EED_EXPORT_ENCODING='utf-8'
 SPLASH_URL='http://localhost:8050'
 from shutil import which
 

Комментарии:

1. Какую информацию вы хотите получить с помощью вашего XPath? //span[@class="_1qsawv5"] На этой странице для меня нет.

2. я имею в виду «(// div [@class=»_1qsawv5″]) [1]» sry я изменил код, пока тестировал что-то еще!! все еще не работает