いくつかの応答をスプラッシュでレンダリングする必要があるスクレイピースパイダーを書いています。私のスパイダーは CrawlSpider に基づいています。クロール スパイダーにフィードするには、start_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)