เครื่องหมายบวกด้านหน้า URL ในตัวแทนผู้ใช้


10

ฉันเรียกใช้โปรแกรมรวบรวมข้อมูลเว็บขนาดเล็กและต้องตัดสินใจเกี่ยวกับตัวแทนผู้ใช้ที่จะใช้ รายการของตัวแทนซอฟต์แวร์รวบรวมข้อมูลรวมถึงWikipediaแนะนำรูปแบบต่อไปนี้:

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

อย่างไรก็ตามบ็อตบางตัวจะไม่ใส่เครื่องหมายบวกด้านหน้า URL และฉันสงสัยว่ามันหมายถึงอะไรในตอนแรก แต่ไม่พบคำอธิบายใด ๆ RFC 2616 พิจารณาทุกอย่างในวงเล็บเป็นความคิดเห็นและไม่ จำกัด รูปแบบ แต่เป็นเรื่องปกติที่เบราว์เซอร์จะมีรายการโทเค็นคั่นด้วยเครื่องหมายอัฒภาคในความคิดเห็นที่โฆษณารุ่นและความสามารถของเบราว์เซอร์ ฉันไม่คิดว่านี่เป็นมาตรฐานในลักษณะอื่นใดนอกเหนือจากเบราว์เซอร์ส่วนใหญ่ที่จัดรูปแบบคล้ายกัน และฉันไม่พบสิ่งใดที่เกี่ยวข้องกับ URL ในความคิดเห็น

คำถามของฉันคือ: ทำไมเครื่องหมายบวก? ฉันต้องการมันไหม

คำตอบ:


6

การใช้งานครั้งแรกนี้ฉันสามารถหาได้กับโปรแกรมรวบรวมข้อมูล Heritrix ในเอกสารคู่มือนี้ฉันพบสิ่งต่อไปนี้:

6.3.1.3.2 user-agent แม่แบบตัวแทนผู้ใช้เริ่มต้นที่คุณเห็นเมื่อคุณเริ่ม heritrix ครั้งแรกจะมีลักษณะดังนี้:

Mozilla / 5.0 (ใช้งานได้; heritrix / 0.11.0 + PROJECT_URL_HERE

คุณต้องเปลี่ยนอย่างน้อย PROJECT_URL_HERE และวางเว็บไซต์ที่ผู้ดูแลเว็บสามารถไปที่เพื่อดูข้อมูลเกี่ยวกับองค์กรหรือบุคคลที่เรียกใช้การรวบรวมข้อมูล

สตริง user-agent ต้องเป็นไปตามรูปแบบต่อไปนี้:

[ตัวเลือกข้อความ] ([ตัวเลือกข้อความ] + PROJECT_URL [ตัวเลือกข้อความ]) [ตัวเลือกข้อความ]

วงเล็บและเครื่องหมายบวกก่อนที่จะต้องมี URL ตัวอย่างอื่น ๆ ของตัวแทนผู้ใช้ที่ถูกต้องจะรวมถึง:

my-heritrix-crawler (+ http://mywebsite.com)

Mozilla / 5.0 (ใช้งานได้; bush-crawler + http://whitehouse.gov)

Mozilla / 5.0 (ใช้งานได้; os-heritrix / 0.11.0 + http://loc.govในนาม Library of Congress)


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% เท่านั้นที่มีเครื่องหมายบวก

จากการวิเคราะห์นี้เครื่องหมายบวกเป็นเรื่องปกติ แต่ตัวแทนผู้ใช้ส่วนใหญ่เลือกที่จะไม่ใช้ มันเป็นเรื่องปกติที่จะทิ้งมันไว้ แต่มันก็เป็นเรื่องธรรมดาพอที่จะรวมมันไว้ด้วย

นี่คือสคริปต์ Perl ที่ดำเนินการวิเคราะห์นี้หากคุณต้องการเรียกใช้ด้วยตนเอง

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

ฉันเดาว่าแมงมุมที่แอคทีฟอย่าง Googlebot เริ่มทำงานและนักพัฒนาอื่น ๆ ก็คัดลอกรูปแบบ Googlebot ใช้งานอย่างแน่นอน แต่อาจไม่ใช่คนแรกที่ทำเช่นนั้น
Stephen Ostermiller

ความคิดเห็นที่ดี - ขอบคุณสำหรับสถิติและการวิเคราะห์
NetConstructor.com

แต่คุณไม่ได้ตอบคำถาม
Jürgen Paul
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.