Мы использовали промежуточное программное обеспечение scrapy-splash для передачи очищенного исходного кода HTML через движок Splash javascript, работающий внутри контейнера докера.
Если мы хотим использовать Splash в пауке, мы настраиваем несколько обязательных параметров проекта и выдаем Request указанием конкретных meta аргументов:
yield Request(url, self.parse_result, meta={
'splash': {
'args': {
# set rendering arguments here
'html': 1,
'png': 1,
# 'url' is prefilled from request url
},
# optional parameters
'endpoint': 'render.json', # optional; default is render.json
'splash_url': '<url>', # overrides SPLASH_URL
'slot_policy': scrapyjs.SlotPolicy.PER_DOMAIN,
}
})
Это работает как задокументировано. Но как мы можем использовать scrapy-splash внутри Scrapy Shell?