Web sitelerini tararken nasıl iyi bir vatandaş olunur?


83

Çeşitli kamuya açık web sitelerini tarayacak ve bunlarla ilgili verileri işleyecek / toplayacak bazı işlevler geliştireceğim. E-posta adreslerini aramak gibi kötü bir şey yok - aslında sitelerine ek trafik çekebilecek bir şey. Ama ben dalıyorum.

Şeref dışında robots.txt, (a) kötü niyetli ve potansiyel olarak yasaklanmış görünmekten kaçınmak ve (b) site sahipleri / yöneticileri için herhangi bir soruna yol açmamak için izlemem gereken yazılı veya yazılı olmayan kurallar veya yönergeler var mı?

Düşünebileceğim bazı örnekler olabilir veya önemli olmayabilir:

  • Paralel istek sayısı
  • İstekler arasındaki süre
  • Tüm taramalar arasındaki süre
  • Potansiyel olarak tahrip edici bağlantılardan kaçınmak (Doom Örümceği olmak istemiyorum - ama bunun pratik olup olmadığını kim bilebilir)

Bu gerçekten, sadece tükürük toplayan olsa da; Örümcek yazmayı ya da kullanmayı düşünen herkes için geniş çapta uygulanabilir denenmiş ve test edilmiş bir bilgelik var mı?


1
Aşağıdaki yanıtlar, içeriği saygılı olarak nasıl taratacağınıza dair büyük bir cevap verirken, lütfen onu taradıktan sonra söz konusu içeriğin kabul edilebilir kullanımını göz önünde bulundurun. Tamamen ya da kısmen yeniden yayınlamak, sahiplerinin telif hakkı ihlallerini doğurabilir.
Gavin Coates,

Yanıtlar:


85

Robots.txt itaat yanında itaat nofollowve noindexiçinde <meta>element ve bağlantıları:

  • Robots.txt dosyasının endekslemeyi engellemenin uygun bir yolu olmadığına inanan birçok insan var ve bu bakış açısı nedeniyle, birçok site sahibine <meta name="robots" content="noindex">web tarayıcılarına bir sayfayı indekslememelerini bildirmek için etikete güvenmeleri talimatını verdi.

  • Eğer web siteleri arasında bağlantıların grafiğini (PageRank benzer bir şey) yapmak için çalışıyorsanız, (ve <meta name="robots" content="nofollow">) burayı düzgün bir onay verecek kadar hedef siteyi güvenmediği kaynak site göstermek gerekiyordu. Bu nedenle, hedef siteyi dizine ekleyebilirken, iki site arasındaki ilişkiyi saklamamanız gerekir.

SEO, gerçek bir bilimden çok bir sanattır ve ne yaptıklarını bilen birçok insan ve ne yaptıklarını bilenlerin yönetici özetlerini okuyan birçok insan tarafından uygulanmaktadır. Bazıları, SEOmoz'daki bir blog yazısında okuduğu veya okuduğu veya doğru şekilde yorumlanamayan bazı kurallar nedeniyle, diğer sitelerin tamamen kabul edilebilir bulduğu şeyleri yapmak için sitelerden engelleneceğiniz sorunlarla karşılaşacaksınız.

Bu insan unsuru nedeniyle, siz Google, Microsoft veya Yahoo! olmadıkça, aksi ispatlanmadıkça kötü niyetli olduğunuz kabul edilir. Bir web sitesi sahibini tehdit etmiyormuşsunuz gibi davranmak ve potansiyel olarak kötü niyetli (ancak umarım iyi niyetli) bir tarayıcının nasıl davranmasını istediğinizi uyarınca davranmanız gerekir:

  • engellendiğinizi tespit ettikten sonra bir siteyi taramayı durdurun: iş, kısma, zaman aşımı, vb. bildiğiniz sayfalarda 403 / 401s.
  • görece kısa sürelerde ayrıntılı taramalardan kaçının: sitenin bir bölümünü tarayın ve başka bir kısmı taramak için daha sonra tekrar (birkaç gün sonra) tekrar gelin. Paralel isteklerde bulunmayın.
  • Potansiyel olarak hassas bölgeleri taramaktan kaçının: /admin/örneğin içinde bulundukları URL'ler .

O zaman bile, UA sahtekarlığı ya da tarama desenlerinizi bilerek maskeleme gibi siyah şapka tekniklerine başvurmadığınız sürece bir tepe-tepe savaşı olacak: pek çok site sahibi, aynı sebeplerden dolayı, bilinmeyen bir tarayıcıyı almak yerine görmeyi engeller. "kendi sitelerini kırmaya" çalışmayan birinin bulunma olasılığı Çok fazla başarısızlık için hazırlanın.

Bilinmeyen bir tarayıcının sahip olacağı negatif görüntüyle mücadele etmek için yapabileceğiniz şeylerden biri, kullanıcı aracısı dizenizde kim olduğunuzu netleştirmektir:

Aarobot Crawler 0.9 created by John Doe. See http://example.com/aarobot.html for more information.

Nerede http://example.com/aarobot.htmltamamlamaya çalıştığınız ve neden bir tehdit değiliz şeyi açıklıyor. Bu sayfada birkaç şey olmalı:

  • Doğrudan sizinle nasıl iletişime geçeceğinize dair bilgiler
  • Tarayıcının ne topladığı ve neden topladığı hakkında bilgi
  • Çıkma ve toplanan verilerin silinmesine ilişkin bilgiler

Sonuncusu anahtardır: iyi bir seçim, Para İadesi Garantisi ™ gibidir ve makul olmayan bir iyi niyet puanı verir. İnsancıl olmalı: basit bir adım (bir e-posta adresi veya ideal olarak bir form) ve kapsamlı (herhangi bir "gotchas olmamalı:: vazgeçme istisnasız sürünmeyi bırakman anlamına gelir).


18
Kullanıcı-Ajanına net bilgi koyma önerisi için Büyük +1. Büyük bir siteyi kimin örttüğünü bulmak için web sunucusu kayıtlarına göz atma işi yaptım ve tüm belirsiz örümcekleri kimin çalıştırdığını bulmaya çalışmak eğlenceli değil.
Carson63000,

4
URL'yi forma koymak oldukça yaygındır (+http://example.com/aarobot.html). İşaretin amacının +burada ne olduğunu bilmiyorum ama çok sık gördüm. Web Sniffer bunu yapar ve birçokları da yapar.
TRiG

Bu harika bir bilgi, ancak bir konuda kafam karıştı: Bir özellikmiş rel="noindex"gibi bahsetmiştiniz <a>, ancak bağlantı verdiğiniz sayfa, onu <meta>etiketin contentözniteliğinin bir parçası olarak açıklıyor . İkisi de mi, yoksa bu cevapta bir yazım hatası mıydı?
Aaron,

1
"SEO, gerçek bir bilimden çok bir sanattır" - doğru değil. Eğer istatistiksel bir programcıysanız, SEO daha az bir sanattır ve daha çok matematiksel bir tanıma becerisidir. Programlama veya Matematik konusunda yetenekli olan programcıların matematik bilgisi web veri profilleme sektöründe çok rağbet görmektedir.
אינתיא אבישגנת


32

Bu, tüm sorularınızı yanıtlamazken, size ve taradığınız sitelere yardımcı olacağına inanıyorum.

Web sitelerini dikkat çekmeden zorlamak için kullanılan tekniğe benzer şekilde, taramanız gereken yeterince büyük bir site havuzunuz varsa, diğer tüm sitelerin bir sonraki sayfasını tarayana kadar sitedeki bir sonraki sayfayı taramayın. . Peki, modern sunucular HTTP bağlantısının yeniden kullanılmasına izin verecek , bu yüzden ek yükü en aza indirmek için birden fazla yapmak isteyebilirsiniz, ancak fikir hala geçerli. Bir diğerine geçinceye kadar bir siteyi bitkin duruma getirmeyin . Sevgiyi Paylaş.

Bir günün sonunda, sizin kadar, yine de o kadar çok sayfa tarayabilirsiniz, ancak tek bir sitede ortalama bant genişliği kullanımı çok daha düşük olacaktır.

Kıç örümceği olmaktan kaçınmak istiyorsanız, kesin bir yöntem yoktur. Birisi fasulyelerini burnuna sokmak istiyorsa, bunu asla tahmin edemeyeceğiniz şekilde yapar . Diyelim ki, arada sırada geçerli olan sayfayı kaçırmamanın sakıncası varsa, onu izlemenizi engelleyecek bir bağlantı için kara bir listeye sahip olun. Örneğin:

  • silmek
  • Kaldır
  • Güncelleme
  • Düzenle
  • değiştirmek

Aptal değil, ama bazen insanların zor yoldan öğrenmek zorunda kalmasını engelleyemezsiniz;)


3
"Sevgiyi paylaşma" konusundaki iyi tavsiyeler - elbette geçmişe bakıldığında açıkça görülse de, hiç düşünmemişti.
Aarona

Robots.txt;)
denirseniz

7
@deadalnix, ancak soruda robots.txtzaten bahsedilmiştir ve varsayılması için alınabilir.
TRiG

20

Bir tavsiyem, taradığınız web sitesinin size söylediklerini dinlemek ve buna bağlı olarak taramanızı dinamik olarak değiştirmektir.

  • Site yavaş mı? Yavaş sürün, böylece DDOS yapmazsınız. Hızlı mı O zaman biraz daha tara!

  • Site hata mı veriyor? Daha az tarama yaparak zaten baskı altında olan bir siteyi vurgulamıyorsunuz. Katlanarak artan yeniden deneme süreleri kullanın, böylece site hata veriyorsa daha az yeniden deneyin. Ancak daha sonra tekrar denemeyi unutmayın, böylece belirli bir URL yolunda bir hafta süren bir hata nedeniyle eksik olduğunuz bir şeyi görebilirsiniz.

  • 404 lira mı alıyorsun? (unutmayın, fantezi 404 sayfalarımızda sunucu süresi de var!) Belki de her şey eksik olduğu için şimdilik bu yolla daha fazla URL taramaktan kaçının; eğer file001.html- file005.htmlorada değilse, size bahse girerim ki dolara file999.htmlda değil! Ya da belki o yoldan bir şey aldığınız zamanın yüzdesini azaltın.

Bence, çok sayıda saf tarayıcının, bir robot stratejisini hedef alandan aldıkları sinyallerden bağımsız olarak aynı şekilde çıkardıklarını söyleyerek derinden yanlış gittiği yer burası.

Akıllı bir tarayıcı , dokunduğu hedef sitelere reaktif .


19

Bazıları mantranın bir kısmından bahsetti, fakat bir kısmını ekleyeyim.

Dosya türüne ve boyutuna dikkat edin. Bu devasa ikili dosyaları çekmeyin.

Bazı tipik web sunucusu "dizin listeleri" sayfalarını optimize edin. Özellikle, boyut, tarih, ad, izinler vb. İçin sıralama yapmanıza izin verir. Her sıralama yöntemini tarama için ayrı bir kök olarak kabul etmeyin.

Mümkün olduğunda gzip (anında sıkıştırma) isteyin.

Derinliği sınırlayın veya özyinelemeyi algıla (veya her ikisini de).

Sayfa boyutunu sınırla. Bazı sayfalar e-posta hurdaya çıkarma botlarını engellemek için muşamba uygular. Salyangoz hızında yüklenen ve terabayt uzunluğunda bir sayfa.

404 sayfayı indekslemeyin. En büyük endekslere sahip motorlar bunu yapar ve karşılığında hak ettiği nefreti alır.

Bu zor olabilir, ancak yük dengeleme çiftliklerini tespit etmeye çalışın. V329.host.com/pages/article.php?99999, v132.host.com/pages/article.php?99999 ile aynı şekilde dönerse, v001.host.com adresinden v999'a kadar olan sunucuların tam listesini çizmeyin. host.com


Önemli köşe davaları!
M. Dudley

Günümüzde, kasıtlı olarak yinelenen içeriği (örneğin, yük dengeleme çiftlikleri) kanonik etiketleri kontrol ederek sık sık tespit edebilirsiniz.
Brian,

4

Sadece küçük bir şey ekleyeceğim.

Telif hakkı ve diğer yasal konular: Bunları kamuya açık web siteleri olduğunu biliyorum, bu nedenle herhangi bir telif hakkı olmayabilir, ancak verileri depolamak için başka yasal sorunlar olabilir.

Elbette bu, hangi ülkenin verilerini sakladığınıza (ve bunları nereye sakladığınıza) bağlı olacaktır. AB'nin Veri Koruma Yönergesi ile ABD Patriot Yasası ile ilgili problemleri ele alıyoruz. Sorunun yönetici özeti, ABD şirketlerinin verilerini örneğin: FBI istenirse, kullanıcıları bilgilendirmeden, Veri Koruma Direktifinin kullanıcıların bu konuda bilgilendirilmesi gerektiğini belirtir. Se http://www.itworld.com/government/179977/eu-upset-microsoft-warning-about-us-access-eu-cloud


2
"Bunları kamuya açık web siteleri olduklarını biliyorum, bu nedenle herhangi bir telif hakkı olmayabilir". İnternetteki her web sitesi herkese açıktır ve aksi belirtilmedikçe her web sitesinin telif hakkı vardır.
Gavin Coates,

3

Web tarayıcınızı adınızla ilişkilendirilmiş örümcek veya ya arayın. Bu önemli. Analytics motorları ve benzerleri, sizi bir örümcek olarak ilişkilendirecek olanları arar. ;)

Bunu yaptığım şekilde istek başlığı User-Agent üzerinden


Genelde bir "bot" veya "robot" olduğunu düşündüm - Google’ın Googlebot olduğunu biliyorum.
Aarona

İyi bir nokta. Ayırt edilebildiği sürece. Muhtemelen bunları ortaya koyan bir SO yazısı var.
jcolebrand

2
  • Gerekirse web sitesinin gereksiz oturumlar oluşturmasını önlemek için çerezleri koruyun.
  • Tarayıcıya en yakın olan bağlantı ayrıştırma davranışını uygulayın. Canlı sitemiz, eksik dosyalar için bot istekleri nedeniyle çok fazla '404' bildiriyor.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.