Za stranko vodim spletno stran, kjer prikazujejo veliko bazo podatkov, ki so jih z leti natančno in počasi zbirali. Svoje podatke najdejo po spletu na različnih mestih. Več kot verjetno, da gre za strgalo, ki gre po njihovo spletno stran po stran in pridobivanje informacij, ki jih potrebujejo, v lastno bazo podatkov. In če se sprašujete, vedo, da gre za njihove podatke zaradi enega samega posajenega kosa podatkov v vsaki kategoriji na njihovem spletnem mestu.
V zadnjih nekaj dneh sem veliko raziskal na tem področju in lahko vam povem, da ne obstaja popolna rešitev za vse. Vendar sem našel več stvari, da bi jim to nekoliko otežilo. To sem izvedel za stranko.
Ajaksificirani paginirani podatki
Če imate veliko straniziranih podatkov in podatke pagirate tako, da na konec svojega URL-ja dodate drugo številko, tj. Http://www.domain.com/category/programming/2 - potem ustvarite delo gosenice toliko lažje. Prva težava je, da je v zlahka prepoznavnem vzorcu, zato je nastavitev strgala na teh straneh enostavno kot pita. Druga težava, ne glede na URL naslednjih strani v kategoriji, je več kot verjetna, da bo na njih pripeta naslednja in prejšnja povezava.
Z nalaganjem paginiranih podatkov prek javascripta brez ponovnega nalaganja strani to znatno oteži nalogo za veliko strgalnikov tam. Google je pred kratkim sam začel analizirati JavaScript na strani. Nalaganje takšnih podatkov je malo slabo. Googlu ponujate nekaj manj strani za indeksiranje, tehnično pa bi morali paginirani podatki vseeno kazati na stran s korensko kategorijo s pomočjo kanonizacije. Razširite strani s strani, ki jih označujete.
Naključni izhod predloge
Strgala bodo pogosto posebej prilagojena vašim podatkom. Za naslov se bodo priklenili na določen id ali razred, v tretjo celico v vsaki vrstici, itd. Obstaja enostavno prepoznaven vzorec za večino strgalnikov, ki delajo z večino podatkov, ki prihajajo iz iste tabele, je prikazano po isti predlogi. Naključno razvrstite imena ID-jev in razredov, naključno vstavite prazne stolpce tabele z 0 širino. Pokažite svoje podatke v tabeli na eni strani, v slogovnih divjih in kombinacijah na drugi predlogi. Če lahko svoje podatke predstavite predvidljivo, jih je mogoče predvidljivo in natančno strgati.
Lonec medu
Ta je v svoji preprostosti precej čeden. Na to metodo sem naletel na več straneh o preprečevanju strganja strani.
- Na strežniku ustvarite novo datoteko, imenovano gotcha.html.
- V datoteko robots.txt dodajte naslednje:
Uporabniški agent: *
Onemogoči: /gotcha.html
To vsem robotom in pajkom napoti, da indeksirajo vaše spletno mesto, da ne indeksirajo datoteke gotcha.html. Vsak običajni spletni pajek bo spoštoval želje datoteke robots.txt in do te datoteke ne bo mogel dostopati. to sta Google in Bing. Morda boste morda želeli izvesti ta korak in počakati 24 ur, preden nadaljujete na naslednji korak. S tem boste zagotovili, da vas pajka ne bo pomotoma blokirala zaradi dejstva, da je pri posodobitvi datoteke robots.txt že prišlo do sredine pajka. - Na spletno mesto postavite povezavo do gotcha.html. Ni važno kje. Priporočam, da v spodnji nogi preverite, ali ta povezava ni vidna, v CSS-ju pa zaslon: noben;
- Zdaj zabeležite IP / splošne podatke o osebi, ki je obiskal to stran, in jih blokirajte. Lahko pa si ustvarite tudi skript, ki jim bo posredoval napačne podatke in smeti. Ali morda lepo osebno sporočilo od vas do njih.
Redni spletni gledalci ne bodo mogli videti povezave, zato je slučajno ne bodo kliknili. Ugledni pajki (na primer Google) bodo spoštovali želje vašega robots.txt in ne bodo obiskali datoteke. Torej, edini računalniki, ki bi se morali spotakniti na to stran, so tisti z zlonamernimi nameni ali pa si nekdo ogleda izvorno kodo in naključno klikne naokoli (in no, če se to zgodi).
Obstaja nekaj razlogov, zaradi katerih to ne deluje vedno. Prvič, veliko strgalo ne deluje kot običajni spletni pajki in podatkov ne odkrijete le tako, da sledite vsaki povezavi na vsaki strani na vašem spletnem mestu. Strgalniki so pogosto vgrajeni tako, da se pritrdijo na določene strani in sledijo samo določenim strukturam. Na primer, lahko se strgalec zažene na strani kategorij in mu nato reče le obisk URL-jev z besedo / podatki v polžu. Drugič, če nekdo poganja strgalo v istem omrežju kot drugi in uporablja skupni IP, boste prepovedali celotno omrežje. Za to bi morali imeti zelo priljubljeno spletno mesto.
Podatke napišite v slike
Poiščite manjše polje podatkov, ne nujno dolgih nizov besedila, saj lahko to styling strani nekoliko oteži. Če izpišem te podatke znotraj slike, sem prepričan, da obstajajo metode v skoraj vsakem programskem jeziku, da besedilo na sliko napišete dinamično (v php, imagettftext). To je verjetno najučinkovitejše pri številskih vrednostih, saj številke zagotavljajo veliko bolj nepomembno prednost SEO.
Alternativa
To ni bilo mogoče za ta projekt. Zahteva prijavo po določeni količini ogledov strani ali prikazovanje omejene količine podatkov brez prijave, tj. Če imate 10 stolpcev, uporabnikom prikažete le 5, ki niso prijavljeni.
Ne delajte te napake
Ne trudi se, da bi iznašel kakšno rešitev, ki bi temeljila na uporabnikovem agentu. Te informacije lahko zlahka pokvari strgalec, ki ve, kaj počnejo. Google bota, na primer, je mogoče enostavno posnemati. Verjetno ne želite prepovedati Googla.
