Anonim

Prevádzkujem webovú stránku pre klienta, kde zobrazuje veľkú databázu informácií, ktoré zhromaždili presne a pomaly v priebehu rokov. Svoje údaje nachádzajú na webe na rôznych miestach. Viac ako pravdepodobné je to kvôli škrabke, ktorá prechádza ich stránkou po stránke a extrahuje informácie, ktoré potrebujú, do vlastnej databázy. A v prípade, že vás zaujíma, vedia, že ide o ich údaje, a to vďaka jedinému vysadenému údaju v každej kategórii na ich stránkach.

Za posledných pár dní som v tejto oblasti vykonal veľa výskumov a môžem vám povedať, že neexistuje dokonalé riešenie typu catch-all. Našiel som však niekoľko vecí, ktoré by im mali sťažiť dosiahnutie tohto cieľa. To je to, čo som implementoval pre klienta.

Ajaxifikované stránkované údaje

Ak máte veľa stránkovaných údajov a svoje údaje si prezeráte, jednoducho pridáte na koniec svojej adresy URL iné číslo, tj http://www.domain.com/category/programming/2 - Potom vytvárate prácu prehľadávača, ktorá je oveľa jednoduchšia. Prvým problémom je jeho ľahko identifikovateľný vzor, ​​takže nastavenie stierača na týchto stránkach je jednoduché ako koláč. Druhý problém, bez ohľadu na adresu URL nasledujúcich stránok v kategórii, s väčšou pravdepodobnosťou by existoval ďalší a predchádzajúci odkaz, na ktorý by sa mohli prihlásiť.

Načítaním stránkovaných údajov pomocou javascriptu bez opätovného načítania stránky to výrazne komplikuje prácu pre mnoho zošrotovačov. Google iba nedávno začal analyzovať javascript na stránke. Neexistuje malá nevýhoda pri opätovnom načítaní takýchto údajov. Poskytujete spoločnosti Google niekoľko menších stránok na indexovanie, ale technicky by stránkované údaje mali smerovať ku koreňovej stránke kategórie rovnako pomocou kanonizácie. Ajaxifikujte svoje stránkované stránky s údajmi.

Randomize výstup šablóny

Škrabky sa často mierne prispôsobia vašim údajom. Prichytia sa k určitému dielu alebo triede názvu, tretej bunke v každom riadku pre váš popis atď. Pre väčšinu zošrotovačov existuje ľahko identifikovateľný vzor, ​​s ktorým pracuje väčšina údajov, ktoré pochádzajú z tej istej tabuľky, sa zobrazuje rovnakou šablónou. Randomizujte svoje div ID a názvy tried, vložte náhodne stĺpce tabuľky so šírkou 0. Zobrazte svoje údaje v tabuľke na jednej stránke, v štylizovaných divoch a kombinácii na inej šablóne. Predvídateľným predložením údajov je možné ich predvídateľne a presne zoškrabať.

Honeypot

Vo svojej jednoduchosti je to celkom pekné. S touto metódou som sa stretol na niekoľkých stránkach o zabránení zoškrabania stránok.

  • Vytvorte na serveri nový súbor s názvom gotcha.html.
  • Do súboru robots.txt pridajte nasledujúce položky:
    User-agent: *
    Disallow: /gotcha.html

    To oznámi všetkým robotom a pavúkom tam, ktorí indexujú vaše stránky, aby neindexovali súbor gotcha.html. Akýkoľvek normálny webový prehľadávač bude rešpektovať želania súboru robots.txt a nebude k nemu pristupovať. tj Google a Bing. Možno budete chcieť implementovať tento krok a počkať 24 hodín, kým prejdete na ďalší krok. Zabezpečíte tým, že vás prehľadávač nebude omylom zablokovaný kvôli skutočnosti, že pri aktualizácii súboru robots.txt bol už v polovici indexového prehľadávania.
  • Vložte odkaz na gotcha.html niekde na svojom webe. Nezáleží na tom, kde. V päte by som však odporučil, aby ste sa uistili, že tento odkaz nie je viditeľný, v CSS displej: žiadny;
  • Teraz zaregistrujte IP / všeobecné informácie o osobe, ktorá navštívila túto stránku, a zablokujte ich. Prípadne môžete prísť so skriptom, ktorý im poskytne nesprávne a odpadkové údaje. Alebo možno od vás príjemná osobná správa.

Bežní používatelia webových stránok neuvidia odkaz, takže na ne náhodou nekliknú. Renomovaní prehľadávače (napríklad Google) budú rešpektovať želania súboru robots.txt a súbor nenavštívia. Jediné počítače, ktoré by sa mali zakopnúť na tejto stránke, sú teda počítače so škodlivými úmyslami alebo niekto, kto si prezerá váš zdrojový kód a náhodne na ne klikne (a ak sa tak stane, dobre).

Existuje niekoľko dôvodov, prečo to nemusí vždy fungovať. Najprv veľa zhadzovačov nefunguje ako bežné webové prehľadávače a nielen objavuje údaje sledovaním každého odkazu z každej stránky na vašom webe. Škrabky sú často zostavené tak, aby sa dali opraviť na určitých stránkach a sledovať iba určité štruktúry. Napríklad škrabka sa môže spustiť na stránke kategórie a potom sa dá povedať iba návšteva adries URL so slovom / údajmi v slug. Po druhé, ak niekto používa škrabku v rovnakej sieti ako ostatní a používa sa zdieľaná adresa IP, bude zakázaná celá sieť. Na to, aby to bol problém, musíte mať skutočne veľmi populárnu webovú stránku.

Zápis údajov do obrázkov za behu

Nájdite menšie pole údajov, nie nevyhnutne dlhé textové reťazce, pretože to môže sťažiť štýl stránky. Výstupom týchto údajov vo vnútri obrázka sa cítim celkom presvedčený, že takmer v každom programovacom jazyku existujú metódy na dynamické písanie textu na obrázok (vo formáte php, imagettftext). Toto je pravdepodobne najúčinnejšie s číselnými hodnotami, pretože čísla poskytujú omnoho nevýznamnejšiu výhodu SEO.

alternatívne

Pre tento projekt to nebolo možné. Vyžadovanie prihlásenia po určitom počte zobrazení stránky alebo zobrazenie obmedzeného množstva údajov bez prihlásenia. To znamená, že ak máte 10 stĺpcov, zobrazí sa iba 5 neprihláseným používateľom.

Nerobte túto chybu

Neobťažujte sa snažiť prísť s nejakým druhom riešenia založeného na user-agent robota. Túto informáciu môže ľahko odhaliť škrabka, ktorá vie, čo robí. Napríklad robot Google sa dá ľahko napodobniť. Pravdepodobne Google nechcete zakázať.

Zabránenie poškriabaniu stránok