ব্যবহারকারী এজেন্টগুলিতে ইউআরএলগুলির সামনে প্লাস সাইন ইন


10

আমি একটি ছোট ওয়েব ক্রলার চালাচ্ছি এবং এটির জন্য কোন ব্যবহারকারী এজেন্ট ব্যবহার করবেন তা সিদ্ধান্ত নিতে হয়েছিল। ক্রলার এজেন্টদের তালিকা পাশাপাশি উইকিপিডিয়া নীচের ফর্ম্যাটটির পরামর্শ দেয়:

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

তবে কিছু বট ইউআরএল এর সামনে প্লাস চিহ্নটি বাদ দেয়। এবং আমি আশ্চর্য হয়েছি এর অর্থ প্রথম স্থানে কী আছে তবে কোনও ব্যাখ্যা খুঁজে পাইনি। আরএফসি 2616 বন্ধনী সমস্ত কিছু একটি মন্তব্য হিসাবে বিবেচনা করে এবং এর ফর্ম্যাট সীমাবদ্ধ করে না। তবুও ব্রাউজারগুলির পক্ষে মন্তব্যটিতে টোকেনগুলির একটি সেমিকোলন-বিচ্ছিন্ন তালিকা থাকা সাধারণ বিষয় যা ব্রাউজারের সংস্করণ এবং দক্ষতার বিজ্ঞাপন দেয়। আমি মনে করি না এটি বেশিরভাগ ব্রাউজারগুলি একইভাবে ফরম্যাটেড করা ছাড়া অন্য কোনওভাবে মানক করা হয়েছে। এবং আমি মন্তব্যটিতে ইউআরএল সম্পর্কিত কিছু খুঁজে পাইনি।

আমার প্রশ্ন: প্লাস চিহ্ন কেন? আমার কি দরকার?

উত্তর:


6

আমি এটির প্রথম ব্যবহারটি হেরিট্রিক্স ক্রলারের সাথে পেয়েছিলাম । ইন এই ম্যানুয়াল ডকুমেন্ট , আমি নিম্নলিখিত পাওয়া যায়নি:

6.3.1.3.2। ইউজার-এজেন্ট আপনি যখন প্রাথমিক হেরিস্ট্রিক্স শুরু করবেন তখন প্রাথমিক ব্যবহারকারী-এজেন্ট টেমপ্লেটটি আপনাকে নীচের মতো দেখতে পাবেন:

মোজিলা / 5.0 (সামঞ্জস্যপূর্ণ; হেরিস্ট্রিক্স / 0.11.0 + PROJECT_URL_HERE)

আপনাকে অবশ্যই কমপক্ষে PROJECT_URL_HERE পরিবর্তন করতে হবে এবং এমন একটি ওয়েবসাইট স্থাপন করতে হবে যা ওয়েবমাস্টাররা সংস্থা বা কোনও ক্রল চালাচ্ছেন এমন ব্যক্তির তথ্য দেখতে যেতে পারে।

ব্যবহারকারী-এজেন্ট স্ট্রিং অবশ্যই নিম্নলিখিত ফর্ম্যাট মেনে চলতে হবে:

[alচ্ছিক-পাঠ্য] ([optionচ্ছিক পাঠ্য] + PROJECT_URL [alচ্ছিক পাঠ্য]) [[চ্ছিক-পাঠ্য]

ইউআরএল এর আগে প্রথম বন্ধনী এবং প্লাস চিহ্ন অবশ্যই উপস্থিত থাকতে হবে। বৈধ ব্যবহারকারী এজেন্টগুলির অন্যান্য উদাহরণগুলির মধ্যে রয়েছে:

আমার-উত্তরাধিকারী-ক্রলার (+ http://mywebsite.com)

মজিলা / 5.0 (সামঞ্জস্যপূর্ণ; গুল্ম-ক্রলার + http://whitehouse.gov)

মোজিলা / ৫.০ ( http://loc.govকংগ্রেসের লাইব্রেরির পক্ষে সামঞ্জস্যপূর্ণ; ওস-হেরিস্ট্রিক্স / 0.11.0 + )


5

আমি http://www.user-agents.org/ থেকে সমস্ত ব্যবহারকারীর এজেন্টগুলি ডাউনলোড করেছি এবং তাদের সংখ্যা গণনা করার জন্য একটি স্ক্রিপ্ট চালিয়েছি যা +স্টাইল লিঙ্ক বনাম সরল লিঙ্কগুলি ব্যবহার করেছে । আরএফসি 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% প্লাস অন্তর্ভুক্ত। ২0০ জন ব্যবহারকারী এজেন্টের একটি মন্তব্য আছে যা কেবল একটি লিঙ্ক, কেবলমাত্র ৩৩% যোগটি অন্তর্ভুক্ত করে।

এই বিশ্লেষণের ভিত্তিতে, প্লাসটি সাধারণ, তবে বেশিরভাগ ব্যবহারকারী এজেন্ট এটি ব্যবহার না করা পছন্দ করেন। এটি ছেড়ে দেওয়া ভাল, তবে এটি যথেষ্ট সাধারণ যে এটি অন্তর্ভুক্ত করাও ভাল fine

এখানে পার্ল স্ক্রিপ্টটি রয়েছে যা এই বিশ্লেষণটি সম্পাদন করে যদি আপনি নিজে এটি চালাতে চান।

#!/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
";

খুব সুন্দর উত্তর! আমি ভেবেছিলাম যে প্লাসটি আরও সাধারণ, তবে দৃশ্যত আমার ভুল ছিল। এটি আমার প্রয়োজন কিনা এই প্রশ্নের উত্তর দেয় তবে এটি কোথা থেকে এসেছে তা এখনও নয়।
jlh

আমার ধারণা হ'ল গুগলবটের মতো কিছু খুব সক্রিয় মাকড়সা এটি করা শুরু করে এবং অন্যান্য বিকাশকারীরা ফর্ম্যাটটি অনুলিপি করে। গুগলবোট অবশ্যই এটি ব্যবহার করে তবে এটি এটি প্রথম হতে পারে না।
স্টিফেন অসটারমিলার

দুর্দান্ত মন্তব্য - পরিসংখ্যান এবং বিশ্লেষণের জন্য ধন্যবাদ
নেটকন্সট্রাক্টর.কম

কিন্তু, আপনি প্রশ্নের উত্তর দেন নি।
জর্জেন পল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.