वेब साइट्स को क्रॉल करते समय एक अच्छा नागरिक कैसे बनें?


83

मैं कुछ कार्यक्षमता विकसित करने जा रहा हूं जो विभिन्न सार्वजनिक वेब साइटों को क्रॉल करेगा और उन पर डेटा को संसाधित / एकत्र करेगा। ई-मेल पतों की तलाश जैसा कुछ भी नहीं है - वास्तव में यह कुछ ऐसा है जो वास्तव में उनकी साइटों पर अतिरिक्त ट्रैफ़िक ला सकता है। लेकिन मैं पीछे हटा।

सम्मान के अलावा robots.txt, क्या कोई नियम या दिशानिर्देश हैं, जो लिखित या अलिखित हैं, कि मुझे (ए) दुर्भावनापूर्ण और संभावित रूप से प्रतिबंधित होने से बचने के लिए निम्नलिखित होना चाहिए, और (बी) साइट के मालिकों / वेबमास्टरों के लिए कोई समस्या नहीं है?

कुछ उदाहरण जो मैं सोच सकता हूं कि कोई फर्क नहीं पड़ता है या हो सकता है:

  • समानांतर अनुरोधों की संख्या
  • अनुरोधों के बीच का समय
  • पूरे क्रॉल के बीच का समय
  • संभावित विनाशकारी लिंक से बचना ( कयामत के मकड़ी नहीं बनना चाहते - लेकिन कौन जानता है कि यह व्यावहारिक भी है)

हालांकि यह वास्तव में सिर्फ थूकने वाला है; वहाँ किसी भी कोशिश की और परीक्षण किया ज्ञान है कि मोटे तौर पर किसी के लिए भी लागू होता है जो एक मकड़ी लिखने या उपयोग करने का इरादा रखता है?


1
जबकि नीचे दी गई प्रतिक्रियाएँ सामग्री को सम्मानपूर्वक क्रॉल करने के बारे में एक शानदार उत्तर प्रदान करती हैं, कृपया एक बार जब आपने इसे क्रॉल किया है, तो उक्त सामग्री के स्वीकार्य उपयोग को ध्यान में रखें। इसे पुनः प्रकाशित करना, या तो पूर्ण या आंशिक रूप से, मालिकों के कॉपीराइट का उल्लंघन हो सकता है।
गैविन ने

जवाबों:


85

Robots.txt का पालन इसके अलावा, का पालन करना nofollowऔर noindexमें <meta>तत्वों और लिंक हैं:

  • कई लोग हैं जो मानते हैं कि robots.txt इंडेक्सिंग को ब्लॉक करने का उचित तरीका नहीं है और उस दृष्टिकोण के कारण, कई साइट मालिकों को <meta name="robots" content="noindex">टैग पर भरोसा करने के लिए निर्देश दिए हैं कि वे वेब क्रॉलरों को एक पृष्ठ अनुक्रमित न करने के लिए कहें।

  • यदि आप वेबसाइटों (पेजरैंक के समान कुछ भी) के बीच कनेक्शन का ग्राफ बनाने की कोशिश कर रहे हैं, (और <meta name="robots" content="nofollow">) स्रोत साइट को इंगित करने के लिए माना जाता है कि वह गंतव्य साइट पर भरोसा नहीं करता है तो उसे एक उचित समर्थन देने के लिए पर्याप्त है। इसलिए जब आप गंतव्य स्थल को अनुक्रमित कर सकते हैं, तो आपको दोनों साइटों के बीच संबंध नहीं रखना चाहिए।

एसईओ एक वास्तविक विज्ञान की तुलना में एक कला है, और यह बहुत से लोगों द्वारा अभ्यास किया जाता है जो जानते हैं कि वे क्या कर रहे हैं, और बहुत से लोग जो उन लोगों की कार्यकारी सारांश पढ़ते हैं जो जानते हैं कि वे क्या कर रहे हैं। आप उन मुद्दों में भाग लेने जा रहे हैं जहाँ आप उन चीज़ों को करने के लिए साइटों से अवरुद्ध हो जाएँगे जो अन्य साइटों को किसी नियम के कारण पूरी तरह से स्वीकार्य लगती हैं या कोई व्यक्ति SEOmoz पर एक ब्लॉग पोस्ट में पढ़ा जाता है जिसकी सही व्याख्या नहीं की जा सकती है।

उस मानवीय तत्व के कारण, जब तक कि आप Google, Microsoft, या Yahoo !, आप दुर्भावनापूर्ण नहीं हैं जब तक कि अन्यथा सिद्ध नहीं किया जाता है। आपको कार्य करने के लिए अतिरिक्त सावधानी बरतने की ज़रूरत है क्योंकि आप किसी वेब साइट के मालिक के लिए कोई ख़तरा नहीं हैं, और इसके अनुसार कार्य करें कि आप कैसे संभावित रूप से दुर्भावनापूर्ण (लेकिन उम्मीद है कि सौम्य) क्रॉलर को कार्य करना चाहते हैं:

  • एक साइट को रोकना बंद कर दें जब आप पता लगा लें कि आप अवरुद्ध हो रहे हैं: आपके द्वारा काम किए जाने वाले पृष्ठों पर 403/401, थ्रॉटलिंग, टाइम-आउट, आदि।
  • अपेक्षाकृत कम समय में थकावट वाले क्रॉल से बचें: साइट के एक हिस्से को क्रॉल करें, और दूसरे हिस्से को क्रॉल करने के लिए (कुछ दिनों बाद) वापस आएं। समानांतर अनुरोध न करें।
  • संभावित संवेदनशील क्षेत्रों को रेंगने से बचें: /admin/उदाहरण के लिए, उनके साथ URL ।

तब भी, यह एक अप-हिल लड़ाई होने जा रही है जब तक कि आप यूए स्पूफिंग या जानबूझकर अपने रेंगने वाले पैटर्न को मास्किंग जैसी ब्लैक-हैट तकनीक का सहारा नहीं लेते हैं: कई साइट मालिक, उपरोक्त समान कारणों के लिए, एक अज्ञात क्रॉलर को देखने के बजाय देखने पर रोक देंगे मौका है कि कोई "उनकी साइट को हैक करने" की कोशिश नहीं कर रहा है। बहुत असफलता के लिए तैयार रहें।

एक चीज़ जो आप किसी अनजान क्रॉलर की नकारात्मक छवि से निपटने के लिए कर सकते हैं, वह यह है कि आप अपने उपयोगकर्ता-एजेंट स्ट्रिंग में इसे स्पष्ट करें:

Aarobot Crawler 0.9 created by John Doe. See http://example.com/aarobot.html for more information.

यह http://example.com/aarobot.htmlबताता है कि आप क्या हासिल करने की कोशिश कर रहे हैं और आपको कोई खतरा क्यों नहीं है। उस पृष्ठ में कुछ चीजें होनी चाहिए:

  • सीधे संपर्क करने के तरीके के बारे में जानकारी
  • क्रॉलर क्या इकट्ठा करता है और इसे क्यों इकट्ठा कर रहा है, इसके बारे में जानकारी
  • ऑप्ट-आउट करने और हटाए गए किसी भी डेटा को एकत्रित करने की जानकारी

वह अंतिम एक कुंजी है: एक अच्छा ऑप्ट-आउट एक मनी बैक गारंटी ™ की तरह है और एक अच्छाई की अनुचित राशि स्कोर करता है। यह मानवीय होना चाहिए: एक सरल चरण (या तो एक ईमेल पता या, आदर्श रूप, एक रूप) और व्यापक (कोई "गोचैस नहीं होना चाहिए": ऑप्ट-आउट का मतलब है कि आप अपवाद के बिना क्रॉल करना बंद कर देते हैं)।


18
उपयोगकर्ता-एजेंट में स्पष्ट जानकारी डालने के सुझाव के लिए विशाल +1। मेरे पास वेबसर्वर लॉग से अधिक काम करने का काम है, जो यह पता लगाने के लिए कि कौन एक बड़ी साइट पर जा रहा है, और यह पता लगाने का कोई मज़ा नहीं है कि सभी अस्पष्ट मकड़ियों को कौन चला रहा है।
कार्सन 63000

4
URL को फ़ॉर्म में रखना काफी सामान्य है (+http://example.com/aarobot.html)। मुझे नहीं पता कि +हस्ताक्षर का उद्देश्य यहाँ क्या है, लेकिन मैंने इसे अक्सर देखा है। वेब-स्निफर इसे करता है, और इसी तरह कई अन्य करते हैं।
टीआरआई जीएल

यह बहुत अच्छी जानकारी है, लेकिन मैं एक बात पर भ्रमित हूं: आप इसका उल्लेख करते हैं rel="noindex"जैसे कि यह एक <a>विशेषता है, लेकिन जिस पृष्ठ को आप <meta>टैग की contentविशेषता के हिस्से के रूप में वर्णन करने के लिए लिंक करते हैं । क्या यह दोनों है, या यह उत्तर में एक टाइपो था?
23-11

1
"एसईओ एक वास्तविक विज्ञान की तुलना में अधिक कला है" - यह सच नहीं है। यदि आप एक सांख्यिकीय प्रोग्रामर हैं, तो एसईओ एक कला कम और गणितीय मान्यता कौशल अधिक है। मैथ्स ग्रेड जो प्रोग्रामिंग में कुशल हैं या मैथ्स में कुशल प्रोग्रामर हैं वे वेब डेटा प्रोफाइलिंग इंडस्ट्री में अच्छी डिमांड में हैं।
שגינתיא אבישנת


32

हालांकि यह आपके सभी सवालों का जवाब नहीं देता है, मेरा मानना ​​है कि यह आपकी और उन साइटों की मदद करेगा जो आप क्रॉल करते हैं।

ध्यान आकर्षित किए बिना बल वेबसाइटों को भंग करने के लिए उपयोग की जाने वाली तकनीक के समान, यदि आपके पास साइटों का एक बड़ा पूल है, जिसे आपको क्रॉल करने की आवश्यकता है, तो साइट पर अगले पृष्ठ को तब तक क्रॉल न करें जब तक कि आप अन्य सभी साइटों के अगले पृष्ठ को क्रॉल न कर दें । खैर, आधुनिक सर्वर HTTP कनेक्शन का पुन: उपयोग करने की अनुमति देगा , इसलिए आप ओवरहेड को कम करने के लिए एक से अधिक करना चाह सकते हैं, लेकिन विचार अभी भी खड़ा है। जब तक आप अगले पर नहीं जाते हैं तब तक थकावट के लिए एक साइट को क्रॉल न करें । प्यार बाँटें।

आपके लिए एक दिन के अंत में, आप अभी भी कई पृष्ठों के रूप में क्रॉल कर सकते हैं, लेकिन किसी एकल साइट पर औसत बैंडविड्थ का उपयोग बहुत कम होगा।

यदि आप कयामत के मकड़ी होने से बचना चाहते हैं, तो निश्चित रूप से आग लगाने की कोई विधि नहीं है। अगर कोई अपनी नाक से बीन्स चिपकाना चाहता है , तो वे ऐसा करेंगे और शायद शिष्टाचार में आप कभी भविष्यवाणी नहीं कर सकते । यह कहते हुए कि, यदि आपको कभी-कभार मान्य पृष्ठ याद नहीं है, तो एक लिंक के लिए शब्दों की एक ब्लैकलिस्ट करें, जो आपको इसका अनुसरण करने से रोकेगा। उदाहरण के लिए:

  • हटाना
  • हटाना
  • अपडेट करें
  • संपादित करें
  • संशोधित करें

मूर्ख नहीं, लेकिन कभी-कभी आप लोगों को कठिन तरीके से सीखने से नहीं रोक सकते;)


3
"प्यार को साझा करने" पर अच्छी सलाह - इस पर विचार नहीं किया गया था, हालांकि निश्चित रूप से यह पूर्वव्यापी में स्पष्ट लगता है।
एरोन

यदि आप robots.txt;) का उल्लेख करते हैं, तो आपका उत्तर लगभग सही होगा
deadalnix

7
@ डीडलोनिक्स, लेकिन robots.txtपहले से ही प्रश्न में उल्लिखित है, और इसे ग्रहण किया जा सकता है।
TRIG

20

मेरी एक सलाह यह है कि आप जिस वेबसाइट को क्रॉल कर रहे हैं , उसे सुनें और उसी की प्रतिक्रिया में गतिशील रूप से अपना क्रॉल बदलें।

  • क्या साइट धीमी है? क्रॉल धीमी करें ताकि आप इसे डीडीओएस न करें। क्या यह जल्दी है? थोड़ा और क्रॉल करें, फिर!

  • क्या साइट में गड़बड़ी है? कम क्रॉल करें ताकि आप पहले से ही ड्यूरेस के तहत किसी साइट पर जोर न दें। तेजी से बढ़ते रिट्री बार का उपयोग करें, ताकि आप कम समय तक रिट्रीट करें जब तक साइट गलत हो। लेकिन बाद में वापस कोशिश करने के लिए याद रखें, आखिरकार, आप एक विशिष्ट URL पथ पर एक सप्ताह की लंबी त्रुटि के कारण कुछ भी देख सकते हैं, जिसे आप याद कर रहे हैं।

  • 404s के बहुत सारे हो रही है? (याद रखें, हमारे फैंस 404 पेज सर्वर टाइम भी लेते हैं!) आगे के URL को उस रास्ते से क्रॉल करने से बचें, क्योंकि शायद अब सब कुछ गायब है; अगर file001.html- file005.htmlवहाँ नहीं है, तो मुझे यकीन है कि आप डोनट्स file999.htmlको डॉलर नहीं देंगे ! या शायद आप उस रास्ते में किसी भी चीज़ को पुनः प्राप्त करने के प्रतिशत को कम कर दें।

मुझे लगता है कि यह वह जगह है जहाँ बहुत से भोले-भाले क्रॉलर गहरी रूप से गलत होते हैं, एक रोबोटिक रणनीति के द्वारा कि वे उसी तरह से बहाना करते हैं, जैसे कि वे उन संकेतों की परवाह किए बिना जो वे लक्ष्य साइट से वापस आ रहे हैं।

एक स्मार्ट क्रॉलर लक्षित साइट के लिए प्रतिक्रियाशील है जो इसे छू रहा है।


19

दूसरों ने मंत्र का कुछ उल्लेख किया है, लेकिन मुझे कुछ जोड़ने दें।

फ़ाइल प्रकार और आकार पर ध्यान दें। इन विशाल बायनेरिज़ को न खींचें।

कुछ विशिष्ट वेबसर्वर "निर्देशिका सूचीकरण" पृष्ठों के लिए ऑप्टिमाइज़ करें। विशेष रूप से, वे आकार, तिथि, नाम, अनुमतियाँ, और इसी तरह की अनुमति देते हैं। क्रॉलिंग के लिए अलग-अलग रूट के रूप में प्रत्येक प्रकार की विधि का इलाज न करें।

जब भी उपलब्ध हो गज़िप (मक्खी पर संपीड़न) के लिए पूछें।

गहराई को सीमित करें या पुनरावर्तन (या दोनों) का पता लगाएं।

पृष्ठ का आकार सीमित करें। कुछ पेज ईमेल-स्क्रैप बॉट्स को विफल करने के लिए टारपिट को लागू करते हैं। यह एक ऐसा पेज है जो घोंघा की गति से लोड होता है और टेराबाइट्स लंबा होता है।

404 पृष्ठों को अनुक्रमित न करें। इंजन जो सबसे बड़े अनुक्रमित करते हैं, वे ऐसा करते हैं, और बदले में अच्छी तरह से योग्य घृणा प्राप्त करते हैं।

यह मुश्किल हो सकता है, लेकिन लोड-बैलेंसिंग फ़ार्म का पता लगाने का प्रयास करें। यदि v329.host.com/pages/article.php?99999 वैट के समान है तो v132.host.com/pages/article.php?99999 v001.host.com से v999 तक के सर्वर की पूरी सूची को खंगालें नहीं। host.com


महत्वपूर्ण कोने के मामले!
एम। डडली

आजकल, आप अक्सर जानबूझकर डुप्लिकेट सामग्री (जैसे, लोड-बैलेंसिंग फ़ार्म) को कैनोनिकल टैग्स के लिए जाँच कर पता लगा सकते हैं।
ब्रायन

4

मैं सिर्फ एक छोटी सी बात जोड़ूंगा।

कॉपीराइट और अन्य कानूनी मुद्दे: मुझे पता है कि आप लिखते हैं कि वे सार्वजनिक वेबसाइट हैं, इसलिए कोई कॉपीराइट नहीं हो सकता है, लेकिन डेटा संग्रहीत करने के लिए अन्य कानूनी मुद्दे हो सकते हैं।

यह निश्चित रूप से इस बात पर निर्भर करेगा कि आप किस देश के डेटा को स्टोर कर रहे हैं (और जहां आप उन्हें स्टोर कर रहे हैं)। अमेरिकी पैट्रियट अधिनियम बनाम यूरोपीय संघ के डेटा संरक्षण निर्देश के साथ समस्याओं के संदर्भ में मामला। समस्या का एक कार्यकारी सारांश यह है कि अमेरिकी कंपनियों को अपना डेटा उदा को देना है। एफबीआई से अगर पूछा जाए, तो उस उपयोगकर्ता को सूचित किए बिना, जहां डेटा सुरक्षा निर्देश बताता है कि उपयोगकर्ताओं को इसकी सूचना दी जानी है। Se http://www.itworld.com/government/179977/eu-upset-microsoft-warning-about-us-access-eu-cloud


2
"मुझे पता है कि आप लिखते हैं कि वे सार्वजनिक वेबसाइट हैं, इसलिए कोई कॉपीराइट नहीं हो सकता है"। इंटरनेट पर हर वेबसाइट सार्वजनिक है, और हर वेबसाइट कॉपीराइट है, जब तक कि यह स्पष्ट रूप से अन्यथा नहीं बताता है।
गेविन

3

अपने वेबक्रॉलर को या तो अपने नाम के साथ संबद्ध करें या मकड़ी। यह महत्वपूर्ण है। एनालिटिक्स इंजन और लाइक करने वालों की तरह आपको ... मकड़ी के रूप में जोड़ते हैं। ;)

जिस तरह से मैंने देखा है कि अनुरोध हेडर-एजेंट के माध्यम से किया जाता है


मुझे लगा कि यह आमतौर पर एक "बॉट" या "रोबोट" है - मुझे पता है कि Google का Googlebot है।
आरोन

अच्छी बात। इसलिए जब तक इसे प्रतिष्ठित किया जा सकता है। वहाँ शायद उन पर बिछाने तो एसओ पर एक पोस्ट है।
jcolebrand

2
  • अनावश्यक सत्र बनाने से वेब-साइट को रोकने के लिए, जब आवश्यक हो, कुकीज़ को संरक्षित करें।
  • लिंक पार्सिंग व्यवहार को लागू करें, ब्राउज़र एक के सबसे करीब। गुम फाइलों के लिए बॉट अनुरोध के कारण हमारी लाइव साइट बहुत सारे '404' रिपोर्ट करती है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.