ドッカーコンテナ内で実行されているSplash
javascriptエンジンでスクラップしたHTMLソースを渡すのにscrapy-splash
middlewareを使用しています。スクラップシェルとスクラップスプラッシュ
我々はクモにスプラッシュを使用したい場合は、我々はいくつかのrequired project settingsを設定し、特定のmeta
argumentsを指定Request
をもたらす:
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 Shellの内部でscrapy-splash
を使用するにはどうすればよいですか?
[DEFAULT_REQUEST_HEADERS](http://doc.scrapy.org/en/latest/topics/settings.html?#std:setting-DEFAULT_REQUEST_HEADERS)のように「DEFAULT_REQUEST_META」はありません添加。 Splashをデフォルトでミドルウェア(https://github.com/scrapinghub/scrapy-splash/issues/11を参照)を介して有効にする方法については、公開ディスカッションがあります。もう一つの選択肢は、scrapy-splash mdwをサブクラス化してそこに強制的に設定することです。アイデアはhttps://github.com/scrapinghub/scrapy-splash/issues –