Anonim

Üzemeltetőmnek webhelyet működtetök, ahol nagy mennyiségű adatbázist jelenítenek meg, amelyet pontosan és lassan gyűjtöttek az évek során. Különböző helyeken találják meg az adatokat az interneten keresztül. Több mint valószínű, hogy az az, hogy egy kaparó megy keresztül a weboldalon oldalról oldalra, és kibontja a szükséges információkat a saját adatbázisába. És ha kíváncsi, tudják, hogy azok adatai, mivel a webhely minden kategóriájában egyetlen ültetési adat van.

Sokat kutattam erről az elmúlt pár napban, és elmondhatom, hogy nincs tökéletes, mindenre kiterjedő megoldás. Számos dolgot találtam, hogy ezt nehezen megkönnyítsem. Ez az, amit megvalósítottam az ügyfél számára.

Ajaxifikált, paginált adatok

Ha nagyon sok oldalra bontott adat van, és az adatokat úgy olvassa el, hogy egy másik számot ad hozzá az URL végéhez, azaz: http://www.domain.com/kategória/programming/2 - Akkor a lánctalpas munkája sokkal könnyebb. Az első probléma az, hogy könnyen azonosítható mintában van, tehát a kaparó laza beállítása ezeken az oldalakon egyszerű, mint a pite. A második probléma, függetlenül a kategória következő oldalának URL-jétől, valószínű, hogy lenne egy következő és előző link, ahova rögzíteni tudnák.

Azáltal, hogy a meglepett adatokat javascript-en keresztül tölti be, az oldal újratöltése nélkül, ez jelentősen megnehezíti a sok kaparó feladatát. A Google csak a közelmúltban kezdte el javascript elemzését az oldalon. Kevés hátránya van az ilyen adatok újratöltésének. Ön néhány kevesebb oldalt biztosít a Google számára az indexeléshez, de technikai szempontból a paginált adatok mindegyikének a gyökér kategória oldalára kell mutatnia, a kanonizálás révén. Ajaxifikálja az oldalt tartalmazó oldalak adatait.

Véletlenszerűsítse a sablon kimenetet

A lehúzókat gyakran kissé testreszabják az Ön adataihoz. Rögzítik a címet egy bizonyos div azonosítóhoz vagy osztályhoz, a leírást minden sor 3. cellájához, stb. A legtöbb kaparó számára könnyen azonosítható minta működik, mivel a legtöbb adat ugyanabból a táblából származik, ugyanazon a sablonon jelenik meg. Véletlenszerűen oszthatja osztályait és osztályneveit, és tegyen be üres táblázati oszlopokat véletlenszerűen 0 szélességgel. Mutassa adatait az egyik oldalon lévő táblázatban, stílusos osztással és egy másik sablon kombinációjával. Az adatok kiszámítható módon történő bemutatásával kiszámíthatóan és pontosan lekapartuk.

Méztartó

Ez egyszerűen egyszerű. Több oldalon találkoztam ezzel a módszerrel a webhely lekaparásának megakadályozásáról.

  • Hozzon létre egy új fájlt a szerverén, a gotcha.html néven.
  • A robots.txt fájlban adja hozzá a következőket:
    Felhasználói ügynök: *
    Tiltás: /gotcha.html

    Ez azt mondja, hogy az összes robot és pók az indexelni tudja a webhelyet, hogy ne indexelje a gotcha.html fájlt. Minden normál webrobot tiszteletben tartja a robots.txt fájl kívánságait, és nem fér hozzá ehhez a fájlhoz. azaz a Google és a Bing. Valószínűleg végrehajthatja ezt a lépést, és várjon 24 órát, mielőtt a következő lépésre lép. Ez biztosítja, hogy a bejárót véletlenül ne blokkolja az a tény, hogy a robots.txt fájl frissítésekor már befejeződött a bejárás.
  • Helyezzen egy linket a gotcha.html linkre valahol a webhelyén. Nem számít hol. Azt javaslom, hogy a láblécben, győződjön meg arról, hogy ez a link nem látható, a CSS, megjelenítés: nincs;
  • Jelentkezzen be az ezen az oldalon meglátogatott személyek IP / általános információi és blokkolja azokat. Alternatív megoldásként előállíthat egy szkriptet, amely helytelen és szemetes adatokat szolgáltat nekik. Vagy talán egy kedves személyes üzenetet tőled.

A szokásos webes nézők nem fogják látni a linket, tehát véletlenül kattintásra nem kerül. A jó hírű robotok (például a Google) tiszteletben tartják a robots.txt kívánságait, és nem látogatják meg a fájlt. Tehát az egyetlen számítógép, amelyre botladozhat ezen az oldalon, azok, amelyek rosszindulatú szándékkal rendelkeznek, vagy ha valaki megtekinti a forráskódot, és véletlenszerűen kattint (körülbelül, és ha ez történik).

Néhány oka van annak, hogy ez nem mindig működik. Először is, sok kaparó nem működik úgy, mint a szokásos webrobotok, és nemcsak felfedezi az adatokat, ha a webhely minden oldalán található hivatkozásokat követi. A kaparókat gyakran arra építik, hogy rögzítsék bizonyos oldalakon, és csak bizonyos struktúrákat követnek. Például, egy kaparót el lehet indítani egy kategóriaoldalon, majd azt mondják, hogy csak olyan URL-eket keressen fel, amelyekben a szavak / adatok megtalálhatók a meztelencsigaban. Másodszor, ha valaki a kaparót ugyanazon a hálózaton futtatja, mint mások, és van egy megosztott IP, akkor a teljes hálózatot betiltja. Valójában nagyon népszerű webhellyel kell rendelkeznie, hogy ez problémát jelentsen.

Adatokat írhat képekre menet közben

Keressen egy kisebb adatmezőt, nem feltétlenül hosszú szöveges karakterláncokat, mivel ez az oldal stílusát kissé megnehezítheti. Ha ezeket az adatokat egy kép belsejébe bocsátom, meglehetősen bízom abban, hogy szinte minden programozási nyelvben vannak módszerek a szöveg dinamikus írására a képre (php, imagettftext). Ez valószínűleg a numerikus értékekkel a leghatékonyabb, mivel a számok sokkal jelentéktelenebb SEO előnyt kínálnak.

Alternatív

Ez a projekt nem volt opció. Bejelentkezéshez bizonyos mennyiségű oldalmegtekintés után, vagy korlátozott mennyiségű adat megjelenítéséhez anélkül, hogy bejelentkezett volna. Ha 10 oszlop van, akkor az 5-et csak a nem bejelentkezett felhasználók számára jelenítse meg.

Ne tedd ezt a hibát

Ne aggódj, ha valamilyen megoldást találsz a bot felhasználói ügynöke alapján. Ezt az információt egy kaparó könnyen megtévesztheti, aki tudja, mit csinál. A google bot például könnyen emulálható. Ön valószínűleg nem akarja tiltani a Google-t.

A telek lekaparásának megakadályozása