के साथ क्रॉलर नहीं करता है, मैं एक रेगेक्सपी बनाने की कोशिश कर रहा हूं जो User-Agent
: "मनुष्यों द्वारा नेविगेट किए गए ब्राउज़र" के लिए सत्य का मूल्यांकन करेगा, लेकिन इसके लिए झूठा बॉट। यह कहने की जरूरत नहीं है कि मिलान सटीक नहीं होगा, लेकिन अगर यह सही है तो 90% मामलों में यह सही कहता है।Regexp जो एंड-यूजर ब्राउज़र के उपयोगकर्ता-एजेंट से मेल खाता है लेकिन 90% सटीकता
मेरा दृष्टिकोण अब तक पांच प्रमुख डेस्कटॉप ब्राउज़र (एमएसआईई, फ़ायरफ़ॉक्स, क्रोम, सफारी, ओपेरा) की User-Agent
स्ट्रिंग को लक्षित करना है। विशेष रूप से मैं regexp नहीं से मेल खाता हूं यदि उपयोगकर्ता-एजेंट एक बॉट (Googlebot, msnbot, आदि) है।
^(Mozilla.*(Gecko|KHTML|MSIE|Presto|Trident)|Opera).*$
मैं मिथ्या नकारात्मक जो ज्यादातर मोबाइल ब्राउज़रों हैं की छोटी संख्या देखा होगा:
वर्तमान में मैं निम्नलिखित regexp जो वांछित परिशुद्धता प्राप्त करने के लिए प्रकट होता है उपयोग कर रहा हूँ। अपवाद सभी मैच:
(BlackBerry|HTC|LG|MOT|Nokia|NOKIAN|PLAYSTATION|PSP|SAMSUNG|SonyEricsson)
मेरा प्रश्न है: वांछित सटीकता स्तर को देखते हुए, आप कैसे regexp में सुधार होगा? क्या आप किसी भी बड़े झूठे सकारात्मक या दिए गए रेगेक्स के झूठे नकारात्मक विचारों के बारे में सोच सकते हैं?
कृपया ध्यान दें कि प्रश्न विशेष रूप से regexp- आधारित User-Agent
मिलान के बारे में है। इस समस्या को हल करने के लिए अन्य दृष्टिकोणों का एक समूह है, लेकिन वे इस प्रश्न के दायरे से बाहर हैं।
बॉट कि ब्राउज़र के रूप में पहचान की क्या उपयोग है? – Macha
माचा: जाहिर है उन्हें ब्राउज़र के रूप में वर्गीकृत किया जाएगा। लेकिन जब तक ये दुर्लभ होते हैं, वे निर्दिष्ट सटीकता लक्ष्य को देखते हुए कोई समस्या नहीं होगी। – knorv
हाँ, आपकी वेबसाइट के माध्यम से एक बॉट चलाने वाला एरियल ईमानदार है। सबसे अच्छा समाधान यह है कि आप यहां क्या कर रहे हैं और आप इसके बारे में कैसे जा रहे हैं पर पुनर्विचार करना है। अधिकांश लोग उपयोगकर्ता एजेंट के बजाय व्यवहार (बहुत कम समय में विभिन्न पृष्ठों में) द्वारा बॉट स्पॉट करना पसंद करते हैं। – Will