Thống kê gần đây về việc sử dụng HTML trong tự nhiên?


7

Tôi đã thấy một số thống kê hấp dẫn về những gì đánh dấu HTML thực sự được sử dụng trên web.

Có số liệu thống kê về tác giả web từ Google năm 2005 và MAMA từ Opera năm 2008.

Gần đây có nghiên cứu nào tương tự hơn thế này không?


Bỏ phiếu để chuyển sang webmasters.stackexchange.com

2
Có thể bạn đã biết, nhưng các yếu tố HTML5 mới, chẳng hạn như <header>, <footer><nav>được chọn dựa trên các tên lớp phổ biến nhất được tìm thấy trong nghiên cứu đó của Google. Tôi không biết bất cứ điều gì gần đây hơn nghiên cứu năm 2008 của Opera.
ajcw

Có vẻ quan trọng là các nghiên cứu như thế này được thực hiện thường xuyên để phát hiện xu hướng. Bây giờ chúng ta có các phần tử HTML mới, chẳng hạn như <tiêu đề>, chúng ta cần lặp lại nghiên cứu.
Liam

Câu trả lời:


2

Ngày này bắt đầu từ tháng 1 năm 2011, nhưng không phổ biến: http://try.powermapper.com/demo/statsversions.aspx


Điều này không đưa ra số liệu thống kê gần đây và hiển thị xu hướng theo thời gian, nhưng nó chỉ dành cho các trang web được gửi đến dịch vụ, vì vậy nó có thể là một mẫu rất nhỏ, sai lệch của web.
Liam

Vâng, đó dường như không giống như những con số điển hình với tôi.
Charles

2

Gần đây tôi cần đưa ra một số thống kê về yếu tố HTML. Tôi đã tải xuống một trang web 600 nghìn trang từ năm 2009 và nhận được số liệu thống kê bên dưới về số lần sử dụng các thẻ trong kho văn bản đó có giới hạn ở mức 1000.

39923975
td 29707781
năm 17266040
div 15644761
tr 15340012
img 13539444
tùy chọn 9319944
li 8531300
nhịp 7573226
bảng 5999791
phông chữ 5359688
b 4419975
trang 3762731
đầu vào 3413040
kịch bản 3368258
mạnh 1855448
meta 1809099
liên kết 1262896
ul 1246231
giờ 712094
mẫu 703914
đ 521143
tôi 503215
trung tâm 483503
h2 477122
tiêu đề 446862
cơ thể 445094
đầu 436058
html 435394
h3 400073
393534
em 363613
dt 363085
nhãn 342376
h1 318542
chọn 311449
kiểu 292716
tbody 275069
quý tộc 251825
242097 nhỏ
bản thảo 227474
u 227338
khu vực 221226
thông số 204798
h4 162877
dl 142403
khung nội tuyến 126827
o 86064
số 7231
h5 64141
trường 55447
văn bản 54044
đối tượng 53226
nhúng 51864
trích dẫn 47406
chà 47050
tt 45748
lớn 43810
nhóm tối ưu 43329
blockquote 42869
căn cứ 42147
bản đồ 41401
col 40191
wbr 36995
huyền thoại 32738
ngày 29939
ol 28879
thead 27083
miếng đệm 26848
trước 26118
h6 24766
s 24510
nút 23417
mã 21190
rdf 20960
abbr 20356
từ viết tắt 20186
w 16818
noindex 14038
dfn 12974
marquee 11350
v 11165
tấn công 10522
địa chỉ 9725
mô tả 9058
sc 8677
chú thích 8633
st1 8374
nhóm 8191
mục 8090
tuổi dậy thì 7160
lớp 6156
phụ 5634
trong 5433
loại 5106
hướng dẫn 4936
tài liệu 4678
del 4639
khung 4548
đ3 4323
hình ảnh 4306
var 3729
biến 3292
chân 3282
x 3120
xs 2963
ván trượt 2870
js 2825
người chơi 2823
bộ khung 2738
phương tiện truyền thông 2669
rx 2658
tác giả 2581
c 2563
h 2227
nếu 2213
xml 2134
m 2007
csobj 1972
n 1948
bộ 1872
l 1870
giấy phép 1848
samp 1767
menuitem 1738
yêu cầu 1732
noframes 1714
z 1686
1655 này
q 1638
t 1629
f 1622
nội dung 1612
giấy phép 1533
trái 1501
1488
kbd 1482
sfels 1466
hs 1438
đoạn 1434
ý kiến ​​1394
thay đổi 1393
danh sách 1362
tím 1358
hành động 1352
skype 1338
myarr 1337
chỉ số 1283
blip 1279
scri 1262
mlp 1205
1199
url 1199
basefont 1167
kênh 1153
nếu 1152
u1 1151
1137
xsl 1137
nghĩa đen 1108
rss 1105
mục 1053
1036
nháy 1022
len 1018
id 1001
căn 1000

Dưới đây là các thẻ được chọn từ HTML5 và các thẻ khác ít thường xuyên hơn.

làm 425
trích dẫn 123
thời gian 61
điểm 23
bdi 5

Phương pháp luận

Tôi đã không thử bất cứ điều gì đặc biệt ưa thích. Tôi chỉ lấy toàn bộ kho dữ liệu (2,4 GB được nén) và chạy nó qua perl

gzip -c web200904.gz | perl extractTags.pl

kịch bản perl không

use strict;

my %tags = ();
my $count = 0;

sub emit() {
  foreach my $key (keys(%tags)) {
    print "$key:$tags{$key}\n";
  }
  %tags = ();
  $count = 0;
}

sub count($) {
  my $tagname = $_[0];
  $tagname = "\L$tagname";
  $tags{$tagname} += 1;
  if (++$count >= 1000000) {
    emit();
  }
  return "";
}

while (<STDIN>) {
  s/<([a-zA-Z][a-zA-Z0-9-]*)/count($1)/ge
}

emit();

Sau đó tôi tổng hợp đầu ra bằng cách sử dụng tập lệnh python.

import re

f = open('/tmp/tagCounts', 'r')

counts = {}

pattern = re.compile(r'^([^:]+):([0-9]+)\n?$')

while True:
    line = f.readline()
    if not line: break
    match = pattern.match(line)
    if match:
        name, count = match.groups()
        count = int(count)
        counts[name] = counts.get(name, 0) + count

counts = counts.items()
counts.sort(lambda a, b: cmp(b[1], a[1]) or cmp(a[0], b[0]))

for (name, count) in counts:
    print "%s%s%d" % (name, ' ' * (max(1, (40 - len(name)))), count)

Hãy cẩn thận

Kịch bản này sử dụng một heuristic rất đơn giản để tìm kiếm các thẻ, nhưng sẽ bị nhầm lẫn bởi một '<' theo sau là một từ trong một số ngữ cảnh:

  1. So sánh trong JS hoặc CSS: <script>if (x<notatag) ...
  2. Nhận xét ra tags: <!-- <notatag> -->,
  3. Nội dung không thẻ trong <title>, <textarea>, <noscript>, hoặc các yếu tố tương tự.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.