Я завантажив усі користувацькі агенти з 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
Так 677 користувальницьких агентів, які містять посилання, лише 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]+(.*?)\ \;/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
";