मैं उत्पाद की कीमतों की जानकारी प्राप्त करने के लिए कभी-कभी ई-कॉमर्स वेबपृष्ठ को स्क्रैप करता था। मैंने थोड़ी देर में स्कैचर का उपयोग करके बनाए गए स्क्रैपर का उपयोग नहीं किया है और कल इसका उपयोग करने की कोशिश कर रहा था - मैं बॉट सुरक्षा के साथ एक समस्या में भाग लेता हूं।स्केपर में क्लाउडफ्लेयर बॉट/डीडीओएस सुरक्षा को कैसे बाईपास करें?
यह क्लाउडफ्लेयर की डीडीओएस सुरक्षा का उपयोग कर रहा है जो मूल रूप से जेएस अक्षम के साथ ब्राउज़र (और इसलिए स्क्रैपर्स) को फ़िल्टर करने के लिए जावास्क्रिप्ट मूल्यांकन का उपयोग कर रहा है। एक बार समारोह का मूल्यांकन हो जाने के बाद, गणना संख्या के साथ प्रतिक्रिया उत्पन्न होती है। बदले में, सेवा दो प्रमाणीकरण कुकीज़ भेजती है जो प्रत्येक अनुरोध से जुड़ी होती हैं जो आम तौर पर साइट को क्रॉल करने की अनुमति देती हैं। Here का विवरण यह कैसे काम करता है।
मुझे cloudflare-scrape पायथन मॉड्यूल भी मिला है जो संख्या की गणना करने के लिए बाहरी जेएस मूल्यांकन इंजन का उपयोग करता है और अनुरोध को सर्वर पर वापस भेजता है। मुझे यकीन नहीं है कि इसे Scrapy में एकीकृत कैसे करें। या शायद जेएस निष्पादन का उपयोग किए बिना एक बेहतर तरीका है? अंत में, यह एक रूप है ...
मैं किसी भी मदद की सराहना करता हूं।
जेएस निष्पादित करने में क्या गलत है? इसके बिना बहुत सारी सामग्री तक नहीं पहुंचा जा सकता है ... – dandavis
@ डांडविस स्केपर जेएस निष्पादन नहीं करता है। जेएस के बिना – Rejected
, स्क्रैपिंग हर समय अधिक बेकार हो रही है। आपको स्क्रैप करने के लिए ब्राउज़र का उपयोग करने पर विचार करना चाहिए। मेरी स्क्रैप स्क्रिप्ट लॉग इन के पीछे हो सकती हैं, गतिशील और पेजिनेटेड सामग्री को पकड़ सकती हैं, यहां तक कि स्क्रैपिंग से पहले अधिक गतिशील उप-सामग्री का अनुरोध करने के लिए नकली-क्लिक भी करें, और मुझे नहीं लगता कि कोई भी कोड की 10 से अधिक पंक्तियां हैं या एक बड़ी बाहरी पुस्तकालय की आवश्यकता है। आपको केवल tampermonkey और एक डाउनलोड दिनचर्या है ... KISS। यदि आप इसे अधिक स्वचालित चाहते हैं, तो आप उपयोगकर्ता को phantomJS या उस तरह कुछ पर स्विच कर सकते हैं। जेएस निष्पादित करने के लिए – dandavis