उपयोगकर्ता एजेंटों में URL के सामने प्लस चिह्न


10

मैं एक छोटा सा वेब क्रॉलर चलाता हूं और यह तय करना था कि उपयोगकर्ता एजेंट इसके लिए क्या उपयोग करें। क्रॉलर एजेंटों की सूची के साथ-साथ विकिपीडिया निम्नलिखित प्रारूप का सुझाव देता है:

 examplebot/1.2 (+http://www.example.com/bot.html)

हालाँकि कुछ बॉट्स URL के सामने प्लस साइन को छोड़ देते हैं। और मुझे आश्चर्य है कि पहली जगह में इसका क्या मतलब है, लेकिन कोई स्पष्टीकरण नहीं मिला। RFC 2616 कोष्ठक में एक टिप्पणी पर सब कुछ मानता है और इसके प्रारूप को प्रतिबंधित नहीं करता है। फिर भी ब्राउज़र में टिप्पणी के सेमीकॉन-अलग-अलग सूची में होना आम बात है जो ब्राउज़र के संस्करण और क्षमताओं का विज्ञापन करता है। मुझे नहीं लगता कि यह किसी भी तरह से मानकीकृत है, अधिकांश ब्राउज़रों के अलावा यह इसी तरह से स्वरूपण करता है। और मुझे टिप्पणी में URL के विषय में कुछ भी नहीं मिला।

मेरा सवाल है: प्लस साइन क्यों? क्या मुझे इसकी आवश्यकता है?

जवाबों:


6

इसका सबसे पहला उपयोग मुझे हेरिट्रिज क्रॉलर के साथ मिला । में इस मैनुअल दस्तावेज़ , मैं निम्नलिखित पाया:

6.3.1.3.2। उपयोगकर्ता-एजेंट प्रारंभिक उपयोगकर्ता-एजेंट टेम्प्लेट जिसे आप पहली बार शुरू करते समय देख सकते हैं कि निम्न की तरह कुछ दिखाई देगा:

मोज़िला / 5.0 (संगत; विधर्मी / 0.11.0 + PROJECT_URL_HERE

आपको कम से कम PROJECT_URL_HERE को बदलना होगा और एक वेबसाइट रखनी होगी, जो वेबमास्टर्स संगठन या क्रॉल चलाने वाले व्यक्ति की जानकारी देखने के लिए जा सकते हैं।

उपयोगकर्ता-एजेंट स्ट्रिंग को निम्न प्रारूप का पालन करना चाहिए:

[वैकल्पिक-पाठ] ([वैकल्पिक-पाठ] + PROJECT_URL [वैकल्पिक-पाठ]) [वैकल्पिक-पाठ]

कोष्ठक और URL पर हस्ताक्षर से पहले मौजूद होना चाहिए। मान्य उपयोगकर्ता एजेंटों के अन्य उदाहरणों में शामिल होंगे:

माय-हेरिट्रिक्स-क्रॉलर (+ http://mywebsite.com)

मोज़िला / 5.0 (संगत; बुश-क्रॉलर + http://whitehouse.gov)

मोज़िला / 5.0 (संगत; ओएस-हेरिट्रिक्स / 0.11.0 + http://loc.govकांग्रेस की लाइब्रेरी की ओर से)


5

मैंने http://www.user-agents.org/ से सभी उपयोगकर्ता एजेंटों को डाउनलोड किया और उन सभी की संख्या की गणना करने के लिए एक स्क्रिप्ट चलाई जो +सादे लिंक के साथ शैली लिंक का उपयोग करते थे । मैंने "गैर-मानक" उपयोगकर्ता एजेंट स्ट्रिंग्स को बाहर रखा है जो RFC 2616 से मेल नहीं खाते हैं।

यहाँ परिणाम हैं:

Total: 2471
Standard: 2064
Non-standard: 407
No link: 1391
With link: 673
Plus link: 145
Plain link: 528
Plus link only: 86
Plain link only: 174

673 उपयोगकर्ता एजेंटों में से एक लिंक जिसमें केवल 21% शामिल हैं, प्लस शामिल हैं। 260 उपयोगकर्ता एजेंटों में से एक टिप्पणी है जो सिर्फ एक लिंक है, केवल 33% में प्लस शामिल है।

इस विश्लेषण के आधार पर, प्लस सामान्य है, लेकिन अधिकांश उपयोगकर्ता एजेंट इसका उपयोग नहीं करना चुनते हैं। इसे छोड़ना ठीक है, लेकिन यह आम है कि इसे शामिल करना भी ठीक रहेगा।

यहाँ पर्ल स्क्रिप्ट है जो इस विश्लेषण को करती है यदि आप इसे स्वयं चलाना चाहते हैं।

#!/usr/bin/perl

use strict;

my $doc="";

while(my $line = <>){
    $doc.=$line;
}

my @agents = $doc =~ /\<td class\=\"left\"\>[ \t\r\n]+(.*?)\&nbsp\;/gs;

my $total = 0;
my $standard = 0;
my $nonStandard = 0;
my $noHttp = 0;
my $http = 0;
my $plusHttp = 0;
my $noPlusHttp = 0;
my $linkOnly = 0;
my $plusLinkOnly = 0;

for my $agent (@agents){
    $total++;
    if ($agent =~ /^(?:[a-zA-Z0-9\.\-\_]+(?:\/[a-zA-Z0-9\.\-\_]+)?(?: \([^\)]+\))?[ ]*)+$/){
        print "Standard: $agent\n";
        $standard++;
        if ($agent =~ /http/i){
            print "With link: $agent\n";
            $http++;
            if ($agent =~ /\+http/i){
                print "Plus link: $agent\n";
                $plusHttp++;
            } else {
                print "Plain link: $agent\n";
                $noPlusHttp++;
            }
            if ($agent =~ /\(http[^ ]+\)/i){
                print "Plain link only: $agent\n";
                $linkOnly++;
            } elsif ($agent =~ /\(\+http[^ ]+\)/i){
                print "Plus link only: $agent\n";
                $plusLinkOnly++;
            }
        } else {
            print "No link: $agent\n";
            $noHttp++;
        }
    } else {
        print "Non-standard: $agent\n";
        $nonStandard++;
    }
}

print "
Total: $total
Standard: $standard
Non-standard: $nonStandard
No link: $noHttp
With link: $http
Plus link: $plusHttp
Plain link: $noPlusHttp
Plus link only: $plusLinkOnly
Plain link only: $linkOnly
";

बहुत अच्छा जवाब! मैंने सोचा था कि प्लस अधिक सामान्य था, लेकिन जाहिर तौर पर मुझसे गलती हुई थी। यह इस सवाल का जवाब देता है कि मुझे इसकी आवश्यकता है, लेकिन अभी तक यह नहीं है कि यह कहां से आता है।
15:15

मेरा अनुमान है कि कुछ बहुत सक्रिय मकड़ी जैसे कि Googlebot ने इसे करना शुरू किया और अन्य डेवलपर्स ने प्रारूप की प्रतिलिपि बनाई। Googlebot निश्चित रूप से इसका उपयोग करता है, लेकिन ऐसा करने वाला यह पहला नहीं हो सकता है।
स्टीफन Ostermiller

शानदार टिप्पणी - आँकड़ों और विश्लेषण के लिए धन्यवाद
NetConstructor.com 23

लेकिन, आपने इस सवाल का जवाब नहीं दिया।
जुरगेन पॉल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.