हम scrapy-splash
middleware का उपयोग Splash
जावास्क्रिप्ट इंजन के माध्यम से एक डॉकर कंटेनर के अंदर चलने वाले स्क्रैप किए गए HTML स्रोत को पारित करने के लिए कर रहे हैं।स्क्रैप शैल और स्केपर स्पलैश
हम मकड़ी में स्पलैश उपयोग करना चाहते हैं, हम कई required project settings कॉन्फ़िगर और उपज एक Request
को निर्दिष्ट विशिष्ट meta
arguments:
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_META' नहीं है जैसे एक [DEFAULT_REQUEST_HEADERS] (http://doc.scrapy.org/en/latest/topics/settings.html?#std:setting-DEFAULT_REQUEST_HEADERS) जो एक अच्छा होगा इसके अलावा। एक मिडलवेयर के माध्यम से डिफ़ॉल्ट रूप से स्प्लैश को सक्षम करने पर खुली चर्चाएं होती हैं (https://github.com/scrapinghub/scrapy-splash/issues/11 देखें)। एक अन्य विकल्प है स्केपर-स्प्लैश एमडीडब्ल्यू और बल सेटिंग्स को उपclass करना है। विचार https://github.com/scrapinghub/scrapy-splash/issues –