मैं एक स्केपर ऐप पर काम कर रहा हूं, जहां मैं एक ऐसे साइट पर लॉगिन करने की कोशिश कर रहा हूं जो कैप्चा का उपयोग करता है (यह स्पैम नहीं है)। मैं कैप्चा डाउनलोड करने के लिए ImagesPipeline
का उपयोग कर रहा हूं, और मैं उपयोगकर्ता को हल करने के लिए स्क्रीन पर प्रिंट कर रहा हूं। अब तक सब ठीक है।स्केच में कैप्चास
मेरा सवाल यह है कि मैं कैप्चा/फॉर्म जानकारी जमा करने के लिए मकड़ी को कैसे पुनरारंभ कर सकता हूं? अभी मेरा मकड़ी कैप्चा पेज का अनुरोध करता है, फिर कैप्चा के image_url
युक्त Item
देता है। इसके बाद ImagesPipeline
द्वारा संसाधित/डाउनलोड किया जाता है, और उपयोगकर्ता को प्रदर्शित किया जाता है। मैं अस्पष्ट हूं कि मैं मकड़ी की प्रगति को कैसे फिर से शुरू कर सकता हूं, और captcha
और मकड़ी के लिए एक ही सत्र को पारित कर सकता हूं, क्योंकि मुझे लगता है कि मकड़ी छवियों को काम करने से पहले आइटम (जैसे छोड़ना) वापस करना है।
मैंने दस्तावेज़ों और उदाहरणों को देखा है लेकिन मुझे ऐसा कोई नहीं मिला है जो इसे स्पष्ट करने के लिए स्पष्ट करता है।
क्रॉलर कोड के अंदर से आप छवियों को कैसे कहते हैं? –
आप उस पृष्ठ से छवि को आसानी से पकड़ सकते हैं जिसे आपने अपने मकड़ी में पार्स किया है। मैंने कोशिश नहीं की है कि छवियों के पाइपलाइन – Medorator
फ्रिसो से विचार। आप इसे मैन्युअल कार्रवाई करने के लिए चाहते हैं -> डीईएफ़ पार्स (स्वयं, प्रतिक्रिया): self.crawler.engine.pause() captcha_var = raw_input ("कैप्चा:") self.crawler.engine.unpause() scrapy.FormRequest.from_response वापसी ( प्रतिक्रिया, formdata = { 'codeTextBox': captcha_var}, कॉलबैक = self.after_login ) डीईएफ़ after_login (स्वयं, प्रतिक्रिया): प्रिंट (response.body) वापसी – OWADVL