साथ सेलेनियम का घालमेल वहाँ किसी भी तरह से प्रभावी ढंग से यह पेज प्रतिपादन क्षमताओं के लिए Scrapy में सेलेनियम एकीकृत करने के लिए (क्रम स्क्रीनशॉट उत्पन्न करने के लिए) है?Scrapy
समाधान मैंने देखा है बस Scrapy के अनुरोध पहले से ही संसाधित के बाद WebDriver पर एक Scrapy अनुरोध/प्रतिक्रिया यूआरएल फेंक, और फिर का एक बहुत सिर्फ इतना है कि बंद काम करता है। यह कई अनुरोधों के रूप में दो बार बनाता है, कई मायनों में (साइटों लॉगिन, गतिशील या छद्म यादृच्छिक सामग्री, आदि के साथ साइटों की आवश्यकता होती है) में विफल रहता है, और कई एक्सटेंशन/मिडलवेयर अमान्य हो जाएगा।
वहाँ किसी भी "अच्छा" एक साथ काम करने के लिए दो होने का तरीका है? क्या मैं स्क्रैपिंग की सामग्री के स्क्रीनशॉट जेनरेट करने का एक बेहतर तरीका है?
मैं इस पर ध्यान दिया है, और जबकि यह मुद्दों में से एक (अनुरोध पर दोहरीकरण) को ठीक करता है, यह Scrapy प्रदान करता है कई सुविधाओं को नजरअंदाज। यह उपयोगकर्ता-एजेंट विन्यास, प्रॉक्सी विन्यास, हेडर त्यागें, और कॉल के बीच शून्य हठ (कोई सत्र/कुकीज़) प्रदान करता है। इसके अलावा, सेलेनियम में POST अनुरोध सबमिट करना असंभव है, इसलिए FormRequests जैसी चीजें तोड़ेंगी या बहुत अप्रत्याशित परिणाम होंगे। – Rejected
यह उन चीजों को बाईपास करता है। यह एक बहुत ही सरल उदाहरण है, लेकिन उन चीजों में से कई को सेलेनियम (जैसे कुकीज, हेडर और उपयोगकर्ता-एजेंट स्ट्रिंग) में डुप्लिकेट किया जा सकता है। असल में, उस जानकारी में से अधिकांश आप अनुरोध प्रक्रिया का उपयोग कर खींच सकते हैं जो 'process_request' विधि के लिए एक तर्क के रूप में उपलब्ध है। इसके अलावा, आपको सेलेनियम के माध्यम से पोस्ट करने की आवश्यकता नहीं होगी। सेलेनियम प्रतिक्रिया खींचने के बाद आप 'पार्स' में स्केपर के माध्यम से ऐसा नहीं कर सकते हैं। – JoeLinux
क्या सेलेनियम डाउनलोडर मिडलवेयर द्वारा फॉर्मरेक्वेस्ट को 'अपहृत' नहीं किया जाएगा, और इसके बाद सेलेनियम द्वारा ड्राइवर.get (यूआरएल) के रूप में संसाधित किया जा सकता है? इसे कैसे रोका जा सकता है? – Rejected