Milyen adatforrások segíthetnek a web feltérképezésében?

Ha szeretnénk választ kapni olyan kérdésekre mint pl. hogy hány webhely létezik egy adott nyelven, netán hány webshop, vagy akár melyek a legnépszerűbb tartalomkezelő rendszerek, akkor nem feltétlenül kell a nulláról induljunk: segítségül hívhatjuk azon szervezetek munkáját például, melyek archiválják a jövő számára a weblapokat, biztonságtechnikai okokból szkennelik az internetet, marketingeseknek nyújtanak adatokat a webhelyekről, illetve információt rendszereznek akár enciklopédikus jelleggel, akár webkereső formájában.

Adatok a weblapok archiválóitól

Két komoly megmozdulás van, mely számottevő részét archiválja a webnek. Az egyik a sokak által ismert Internet Archive, a másik pedig az inkább a szakmai közönség érdeklődésére számot tartó munkát végző Common Crawl.

Az Internet Archive folyamatosan térképezi fel és menti el a weben talált weblapokat, továbbá egyszerűen elérhetővé teszi egy webes felületen az egyes weblapok korábbi verzióit is. Adatbázisában ezért rengeteg, már nem működő domainnév és weblap található. 

A Common Crawl nagyságrendileg kéthavonta áll neki a web feltérképezésének, és a gyűjtött weblapokat ezek alapján külön-külön adatbázisban teszi közzé. Emiatt a gyűjtött adatok mögött igen nagy hányadban most is működő weblapok állnak, noha az egyes gyűjtések között nem feltétlenül teljes az átfedés, ezért érdemes több gyűjtés adataival dolgozni. 

Mindkét szervezet lehetővé teszi az általuk gyűjtött weblapok indexének lekérését CDX formátumban, ami jó kiindulási alap a további vizsgálatokhoz, de a Common Crawl domainszintű adatbázisokat is közzétesz időnként.

Adatbázisok biztonsági kutatásokhoz

Project Sonar illetve a tevékenysége eredményeként közzétett Rapid7 Open Data adatbázis úgy keletkezik, hogy végigszkennelik az összes IP címet, és a rajtuk elérhető szolgáltatásokat. A weboldalakat kiszolgáló szerverek szkennelése révén pedig melléktermékként rengeteg domainnévhez is hozzájuthatunk. 

Elsősorban biztonsági kutatás céljából kínálja hasonló jellegű, „mindent szkennelünk” hozzáállással szerzett adatait a netlas.io is. Intuitív keresőfelületén rákereshetünk bármilyen IP-címre vagy domainnévre, így akár az összes .hu domainre is, melyből a cikk írásakor 645 724-et tartott nyilván a rendszer.

SEO adatbázisok

A keresőoptimalizáló szakembereknek is szüksége van sok-sok adatra a különböző weboldalakról, ezek közül a leghasznosabb a mi céljainkra az, hogy adatokat gyűjtenek arról, hogy ki linkel kit. Mivel magyar nyelvű oldalak legtöbbször magyar nyelvű oldalakat linkelnek, illetve egy adott magyar oldalra mutató külső linkek többsége is magyar nyelvű lesz, ezért ez is sokat segíthet abban, hogy új webhelyeket fedezzünk fel. Nagyobbacska adatbázisokat tesz elérhetővé például az Ahrefs, a Majestic SEO vagy a SEO Spyglass.

Enciklopédikus adatgyűjtők

Wikipedia vagy az OpenStreetMap jellegénél fogva messze nem tárol annyi domainnevet ill. weblapot, mint a fent említett források. Nagy előnyük viszont, hogy strukturált adatkörnyezetben találkozhatunk ezekkel az URL-ekkel. 

Keresőadatbázisok

A legtöbb és legfrissebb adatot a különböző internetes keresőoldalak gyűjtik és teszik elérhetővé a webről, mint pl. a Google a Bing vagy a Yandex. A gond csak az, hogy szolgáltatásukat pl. a fent említett netlas.io keresőfelületével ellentétben nem úgy alakították ki, hogy az közvetlenül a hasznát szolgálja kutatásunknak, ezért hát csak kerülőutakon lehet ezekből az oldalakból adatokat kicsiholni.

Social média platformok

Ne feledjük továbbá, hogy a weben található információ egyre nagyobb része a nyitott webről a zárt, pl. közösségi média platformokra költözött. Ennek egy szintén számottevő hozadéka, hogy e platformokról is gyakran hivatkoznak a nyílt webre, azaz a hagyományos, saját domainneveken található webhelyekre.

Egyéb lehetőségek

A világ változatosságához hasonlóan a web is rendkívül sokszínű, úgyhogy lehetetlen felsorolni az összes lehetőséget, mely révén feltérképezhetjük a webet, vagy annak egy meghatározott szegmensét. A fentiekben elsősorban a nagyobb adatbázisokat vettem számba főbb típusaik szerint, nem törekedve az összes lehetséges szolgáltató felsorolására e kategóriákon belül sem.

Mindezen túl is még számos általános vagy helyi érdekű adatforrás lehet segítségünkre, mint pl.:

  • Nem minden domainnév-végződés esetében igaz, de pl. a .hu regisztrátora közzéteszi az újonnan bejegyzés alatt álló domainneveket.
  • Noha manapság már kimentek a linkgyűjtemények a divatból, vannak azonban olyan források, mint pl. a lap.hu oldalak, melyekről egyszerűen, viszonylag strukturált adatokat nyerhetünk ki.

Végül de nem utolsósorban a fenti adatforrások nélkül is lehetséges a web feltérképezése, ami alkalmas lehet a fenti adatforrások lefedettségének ellenőrzésére is.

A web feltérképezése a kályhától

Első lépésben számba vesszük a domainnevekben használható karaktereket [a-z0-9-], kikeverjük az összes technikailag lehetséges variációt: 37*37 + 36*37*36 + 36*37*37*36 + 36*37*37*37*36 + …

Az jól látszik, hogy ha csak a maximum ötbetűs domainneveket szeretnénk átfésülni, akkor már túlléptük a 67 millió lehetséges kombinációt, ami elsőre óriási számnak tűnik, de mivel a legtöbb domain esetében hamar visszajön a válasz, hogy nem létezik ilyen, ezért viszonylag gyorsan át lehet még ezeket pörgetni.

Ha ezzel megvagyunk, akkor pluszban felfedezhetünk majd mindenféle egyéb domainnevet, amire e rövid domainnevek irányítanak át. A legtöbb új, öt karakternél hosszabb domainnévre mégis úgy tehetünk szert, hogy megnézzük, mely egyéb webhelyekre linkelnek a már összegyűjtött domaineken.

Ha már van jópár működő domainnevünk, köztük hosszabbak is, akkor akár végigmehetünk rajtuk úgy is, hogy a permutációk közül kizárjuk azokat, melyek nagyon nem hasonlítanak potenciálisan értelmes domainnevekre, mint pl. 4h6u3a.hu, például az alapján, hogy az ismert domainnevekben mekkora eséllyel követi egymást két karakter, vagy fordul elő egy karakterpár, triplet, stb.

Összefoglalás

Anyagi lehetőségeinktől és elszántságunktól függően számos különböző adatforrással dolgozhatunk, ha sok webhelyet szeretnénk valamilyen célból összegyűjteni, pl. arra az alapvető kérdésre keresünk választ, hogy hány magyar webhely létezik. Egy részük már készen nyújtja az információt, más részükből pedig az adatgyűjtés körülményei és az adatformátum ismeretében nekünk kell kinyerni az adatokat, végül a legnehezebb eset, amikor saját szkriptet kell írnunk ahhoz, hogy egy weboldalról leszedegessük a minket érdeklő, egyébként publikusan elérhető információkat.

Hozzászólások

Köszi, köszi, kiegészítem majd ezzel meg az innen fakadó Censys adatokkal a bejegyzést! Ez ugyanis valahogy nem jött szembe, mert egy szinttel mélyebben van, mint ahol én kutakodtam. Nyugtass meg azonban, hogy attól, hogy tudom az összes IP címet, ahol webszerverek laknak, még nem fogom tudni visszafejteni az összes domainnevet, amit kiszolgálnak, ugye?

A tapasztalataitok alapján mennyire tolerálják az ismert cloud szolgáltatók az ilyen agressziv kutatásokat? Ha nem is a teljes internetet szeretném leszkennelni, de azér pár országnyi tartományt igen.

Kis kiegészítés az archiválókhoz, hogy az OSZK is archiválja már a magyar, vagy magyar vonatkozású weboldalakat.

"Az ember sokszor más mint aminek látszik. De ritkán jobb..."