मुझे लगता है कि एक वेबसाइट को स्क्रैप करने से निर्धारित और तकनीकी रूप से समझदार उपयोगकर्ता को रोकने के लिए 'असंभव' कैसे है, इस पर ध्यान केंद्रित किया जाता है। @ ड्रू नोएक्स का कहना है कि वेबसाइट में ऐसी जानकारी होती है जब कुल मिलाकर कुछ 'मूल्य' होता है। यदि किसी वेबसाइट पर कुल डेटा है जो अनजान अनाम उपयोगकर्ताओं द्वारा आसानी से सुलभ है, तो हां, स्क्रैपिंग को रोकने से 'असंभव' हो सकता है।
मैं सुझाव दूंगा कि हल करने की समस्या यह नहीं है कि उपयोगकर्ताओं को कुल डेटा को स्क्रैप करने से कैसे रोका जाए, बल्कि सार्वजनिक पहुंच से कुल डेटा को निकालने के लिए किन दृष्टिकोणों का उपयोग किया जा सकता है; इस प्रकार स्क्रैपर्स को रोकने के लिए 'असंभव' की आवश्यकता के बिना स्क्रैपर्स के लक्ष्य को खत्म कर दिया जाता है।
कुल डेटा को मालिकाना कंपनी की जानकारी के रूप में माना जाना चाहिए। आम तौर पर मालिकाना कंपनी की जानकारी अज्ञात उपयोगकर्ताओं को कुल या कच्चे रूप में सार्वजनिक रूप से उपलब्ध नहीं है।मैं तर्क दूंगा कि मूल्यवान डेटा लेने से रोकने के लिए समाधान डेटा तक पहुंच को सीमित और बाधित करना होगा, इसे उपयोगकर्ता को प्रस्तुत किए जाने पर इसे स्क्रैप करने से रोकने के लिए नहीं।
1] उपयोगकर्ता खाते/पहुंच - किसी भी समय किसी भी समय किसी भी समय (डेटा/डोमेन विशिष्ट) के भीतर किसी भी डेटा तक पहुंच नहीं होनी चाहिए। उपयोगकर्ताओं को उनके लिए प्रासंगिक डेटा तक पहुंचने में सक्षम होना चाहिए, लेकिन स्पष्ट रूप से प्रश्न से, किसी भी उपयोगकर्ता के पास सभी समेकित डेटा पूछने का वैध उद्देश्य नहीं होगा। साइट के विनिर्देशों को जानने के बिना, मुझे संदेह है कि एक वैध उपयोगकर्ता को कुछ समय अवधि के भीतर डेटा के केवल कुछ छोटे सबसेट की आवश्यकता हो सकती है। सामान्य प्रयोक्ता जरूरतों से काफी अधिक अनुरोध करने के लिए अनुरोध अवरुद्ध या वैकल्पिक रूप से थ्रॉटल किया जाना चाहिए, ताकि निषिद्ध रूप से समय लेने वाली स्क्रैपिंग और स्क्रैप किए गए डेटा संभावित रूप से पुराने हो जाएं।
2] संचालन दल अक्सर यह सुनिश्चित करने के लिए मेट्रिक्स की निगरानी करते हैं कि बड़े वितरित और जटिल सिस्टम स्वस्थ हैं। दुर्भाग्यवश, स्पोरैडिक और अड़चन समस्याओं के कारणों की पहचान करना बहुत मुश्किल हो जाता है, और अक्सर यह पहचानना मुश्किल होता है कि सामान्य परिचालन में उतार-चढ़ाव के विपरीत कोई समस्या है। संचालन दल अक्सर कई कई मीट्रिक से लिया गया सांख्यिकीय विश्लेषण डेटा से निपटते हैं, और उन्हें सिस्टम स्वास्थ्य में महत्वपूर्ण विचलन की पहचान करने में मदद करने के लिए वर्तमान मूल्यों की तुलना करते हैं, क्या वे समय, लोड, सीपीयू उपयोग आदि प्रणाली को व्यवस्थित करते हैं।
इसी प्रकार, अनुरोध उपयोगकर्ताओं से उन मानदंडों के आंकड़ों के लिए जो मानदंड से काफी अधिक हैं, उन व्यक्तियों की पहचान करने में मदद कर सकते हैं जो डेटा को स्क्रैप करने की संभावना रखते हैं; इस तरह के दृष्टिकोण को भी स्वचालित किया जा सकता है और यहां तक कि पैटर्न के लिए कई खातों को देखने के लिए आगे बढ़ाया जा सकता है जो स्क्रैपिंग को इंगित करते हैं। उपयोगकर्ता 1 स्क्रैप 10%, उपयोगकर्ता 2 अगले 10% स्क्रैप करता है, उपयोगकर्ता 3 अगले 10% स्क्रैप करता है, आदि ... पैटर्न (और अन्य) जैसे पैटर्न एक व्यक्ति या समूह का उपयोग करके सिस्टम के दुर्भावनापूर्ण उपयोग के मजबूत संकेतक प्रदान कर सकते हैं एकाधिक खाते
3] कच्चे समेकित डेटा को अंतिम उपयोगकर्ताओं के लिए सीधे पहुंच योग्य न बनाएं। विशिष्टता यहां मायने रखती है, लेकिन बस डालें, डेटा बैक एंड सर्वर पर रहना चाहिए, और कुछ डोमेन विशिष्ट एपीआई का उपयोग करके पुनर्प्राप्त किया जाना चाहिए। दोबारा, मुझे लगता है कि आप केवल कच्चे डेटा की सेवा नहीं कर रहे हैं, बल्कि डेटा के कुछ सबसेट के लिए उपयोगकर्ता अनुरोधों का जवाब दे रहे हैं। उदाहरण के लिए, यदि आपके पास मौजूद डेटा किसी विशेष क्षेत्र के लिए जनसंख्या जनसांख्यिकीय विस्तृत है, तो एक वैध अंत उपयोगकर्ता केवल उस डेटा के उप-समूह में रुचि रखेगा। उदाहरण के लिए, एक अंतिम उपयोगकर्ता किशोरों के साथ घरों के पते जानना चाहता है जो बहु-इकाई आवास या किसी विशिष्ट शहर या काउंटी पर डेटा दोनों माता-पिता के साथ रहते हैं। इस तरह के अनुरोध के लिए अंतिम डेटा की प्रसंस्करण की आवश्यकता होती है ताकि परिणामस्वरूप डेटा सेट उत्पन्न हो सके जो अंतिम उपयोगकर्ता के लिए ब्याज की हो। इनपुट क्वेरी के कई संभावित क्रमिकताओं से पुनर्प्राप्त प्रत्येक परिणामी डेटा सेट को स्क्रैप करना और समग्र डेटा को पूरी तरह से पुनर्निर्मित करना अनिवार्य रूप से मुश्किल होगा। वेबसाइटों की सुरक्षा द्वारा एक स्क्रैपर को भी बाधित किया जाएगा, अनुरोधों/समय के # खाते, परिणामस्वरूप डेटा सेट का कुल डेटा आकार और अन्य संभावित मार्करों को ध्यान में रखा जाएगा। डोमेन विशिष्ट ज्ञान को शामिल करने वाला एक अच्छी तरह से विकसित एपीआई यह सुनिश्चित करने में महत्वपूर्ण होगा कि एपीआई अपने उद्देश्य को पूरा करने के लिए पर्याप्त व्यापक है लेकिन बड़े पैमाने पर कच्चे डेटा डंप को वापस करने के लिए अत्यधिक सामान्य नहीं है।
साइट पर उपयोगकर्ता खातों का उपयोग, उपयोगकर्ताओं के लिए उपयोग बेसलाइन की स्थापना, उपयोगकर्ताओं की पहचान और थ्रॉटलिंग (या अन्य शमन दृष्टिकोण) जो सामान्य उपयोग पैटर्न से महत्वपूर्ण रूप से विचलित होते हैं, और अनुरोध के लिए एक इंटरफेस का निर्माण संसाधित/पचाने वाले परिणाम सेट (बनाम कच्चे समग्र डेटा) दुर्भावनापूर्ण व्यक्तियों के लिए आपके डेटा चोरी करने के इरादे के लिए महत्वपूर्ण जटिलताओं का निर्माण करेंगे। वेबसाइट डेटा को तोड़ने से रोकना असंभव हो सकता है, लेकिन 'असंभवता' को कुल डेटा पर स्क्रैपर के लिए आसानी से सुलभ किया जा रहा है। आप जो नहीं देख सकते हैं उसे स्क्रैप नहीं कर सकते। इसलिए जब तक आपका कुल डेटा कच्चे अप्रसन्न पाठ (उदाहरण के लिए लाइब्रेरी ई-बुक) है, तो अंतिम उपयोगकर्ताओं को कच्चे कुल डेटा तक पहुंच नहीं होनी चाहिए। यहां तक कि लाइब्रेरी ई-बुक उदाहरण में, स्वीकार्य उपयोग पैटर्न से महत्वपूर्ण विचलन, जैसे कि पूरी तरह से पुस्तकों की बड़ी संख्या का अनुरोध करना अवरुद्ध या थ्रॉटल होना चाहिए।
मैं एलीन के साथ समझौता कर रहा हूं; स्क्रीन से स्क्रैप करने से किसी को रोकने के लिए यह असंभव होगा। इसे रोकने के लिए विकल्पों का पीछा करने से केवल आपकी साइट के अन्य पहलुओं में सुधार करने में बेहतर समय लगेगा। उन चीजों पर फ़ोकस करें जो आपकी साइट को स्क्रीन-स्क्रैपर्स से अद्वितीय और बेहतर बनाती हैं। उदाहरण के लिए स्टैक ओवरफ़्लो देखें: इसे बहुत कम फीडर द्वारा स्क्रैप किया जा रहा है, लेकिन यह इसे उपयोगी या भयानक होने से नहीं रोकता है। –
@Cal उन्हें इसे स्क्रैप करने की भी आवश्यकता नहीं है, सामग्री [डेटा डंप] (http://blog.stackoverflow.com/category/cc-wiki-dump/) के माध्यम से उपलब्ध कराई गई है। – Aillyn
@Cal, SO डेटा क्रिएटिव कॉमन्स के तहत डाउनलोड के रूप में उपलब्ध है http://blog.stackoverflow.com/2009/06/stack-overflow-creative-commons-data-dump/ –