Scrapy 第一个URL后,带有飞溅的爬行蜘蛛被卡住

Scrapy 第一个URL后,带有飞溅的爬行蜘蛛被卡住,scrapy,scrapy-spider,scrapy-splash,Scrapy,Scrapy Spider,Scrapy Splash,我正在写一个“刮擦蜘蛛”,在这里我需要用splash呈现一些响应。我的蜘蛛是基于爬行蜘蛛的。我需要呈现我的开始url响应以提供爬行蜘蛛。不幸的是,我的爬行爬行器在呈现第一个响应后停止。知道出了什么问题吗 class VideoSpider(CrawlSpider): start_urls = ['https://juke.com/de/de/search?q=1+Mord+f%C3%BCr+2'] rules = ( Rule(LinkExtractor(allow=()),

我正在写一个“刮擦蜘蛛”,在这里我需要用splash呈现一些响应。我的蜘蛛是基于爬行蜘蛛的。我需要呈现我的开始url响应以提供爬行蜘蛛。不幸的是,我的爬行爬行器在呈现第一个响应后停止。知道出了什么问题吗

class VideoSpider(CrawlSpider):

    start_urls = ['https://juke.com/de/de/search?q=1+Mord+f%C3%BCr+2']

rules = (
    Rule(LinkExtractor(allow=()), callback='parse_items',process_request = "use_splash",),
)

def use_splash(self, request):
    request.meta['splash'] = {
            'endpoint':'render.html',
            'args':{
                'wait':0.5,
                }
            }     
    return request

def start_requests(self):
    for url in self.start_urls:
        yield scrapy.Request(url, self.parse, meta={
            'splash': {
                'endpoint': 'render.html',
                'args': {'wait': 0.5}
        }
    })  


def parse_items(self, response):      
    data = response.body
    print(data)

使用SplashRequest而不是scrapy。请求。。。看看我的答案

你应该把它改成

def use_splash(self, request):
    return SplashRequest(xxxxxx)
或者你可以重写这个函数

    def _build_request(self, rule, link):
        r = Request(url=link.url, callback=self._response_downloaded)
        r.meta.update(rule=rule, link_text=link.text)
        return r

我不能保证它会起作用。我也在看这个。

这能回答你的问题吗?
    def _build_request(self, rule, link):
        r = Request(url=link.url, callback=self._response_downloaded)
        r.meta.update(rule=rule, link_text=link.text)
        return r