Utilizarea Swift, Dig și CartoDB pentru maparea localizării geografice a adreselor IP

Ceea ce vom realiza în această documentație este luarea primelor 25 de site-uri de pe Alexa.com și executarea comenzii „dig” pe ele pentru a interoga serverele de nume DNS pentru informații despre site-uri. Ceea ce vom căuta în mod specific este adresa IP la care sunt înregistrate aceste site-uri pentru a le hărți prin CartoDB.

Utilizarea Swift pentru a săpa primele 50 de site-uri Alexa

Pentru a săpa primele 50 de site-uri Alexa, să creăm un proiect Xcode t pentru a face acest lucru. Pe Mac, accesați folderul Aplicații și deschideți Xcode. În meniul Start care apare, în partea stângă selectați a doua opțiune „Creați un nou proiect Xcode”. Acum veți avea posibilitatea de a alege un șablon pentru noul dvs. proiect. Deoarece vom realiza un instrument simplu pentru linia de comandă, sub OS X și Aplicație, selectați opțiunea „Instrument pentru linia de comandă” și apăsați „Următorul” pentru a continua. Sub „Nume produs”, nu ezitați să denumiți acest lucru oricum doriți. În selecția „Limbă”, asigurați-vă că selectați „Swift” și apăsați „Următorul” pentru a continua. Selectați locația de salvare pentru proiectul dvs. și apăsați „Creați”.

Acum, în fișierul dvs. main.swift, tastați următorul cod:

După introducerea codului, apăsați Comandă + S pentru a salva fișierul și apăsați Comandă + R pentru a rula programul. În consolă, ar trebui să apară numerele IP. Rețineți că există mult mai mult de 50 de adrese IP. Acest lucru este de așteptat, deoarece majoritatea site-urilor au mai multe adrese IP.

Creați o foaie Google pentru a păstra datele IP

Pentru ușurința creării hărții în CartoDB, selectați toate adresele IP pe care tocmai le-ați descoperit din codul de excavare și apăsați Comandă + C pentru a le copia. Acum, accesați sheets.google.com și apăsați „+” pentru a crea o nouă foaie de calcul goală. În celula A1, tastați „cartodb_id”, iar în B1 tastați „Adresă IP”. În B2, apăsați Comandă + V pentru a lipi toate adresele dvs. IP în foaia de calcul. În A2, tastați „1”, iar în A3, tastați „2”. Acum selectați A2 și A3 și faceți clic pe micul pătrat albastru din colțul din stânga jos și trageți-l în jos până ajungeți la A145. Aceasta va atribui automat numere de identificare incrementale fiecărei adrese IP. Denumiți foaia „Dig Data” și lăsați Foi de calcul Google.

Importați foaia de calcul Google în CartoDB ca set de date

Acum că avem adresele IP salvate într-o foaie de calcul Google, putem importa cu ușurință aceste date în CartoDB ca set de date folosind Google Drive. Asigurați-vă că permiteți ferestrele pop-up pentru CartoDB. Conectați-vă la CartoDB și apăsați butonul verde „New Dataset”. Veți fi întâmpinat cu un ecran care vă permite să încărcați fișiere de date, să utilizați Dropbox, Box, Google Drive și o varietate de alte platforme de stocare. Selectați „Google Drive” și apăsați butonul albastru „Conectare”. Găsiți fișierul „Dig Data” și apăsați „Alegeți”, apoi apăsați butonul verde „Connect Dataset” din colțul din dreapta jos.

Deoarece CartoDB are deja localizată geolocalizarea IP, nu este nevoie să găsim latitudinea și longitudinea fiecărei adrese IP – CartoDB o face pentru noi. Odată ce setul de date este terminat de conectat la CartoDB, apăsați „Vizualizare hartă” în partea de sus a ecranului.

În partea dreaptă a ecranului, veți vedea o pictogramă de pensulă care, când este plasată pe mouse, spune „vrăjitori”. Apăsați acest lucru și, în selectorul de asistent de strat Map, alegeți „Heatmap”. Acum veți vedea harta de căldură, așa cum este afișat mai jos:

Deși acest lucru ne arată suficient densitatea locațiilor serverului în Statele Unite, nu ne oferă cu adevărat mai multe informații decât atât. Aruncați o privire la zona San Francisco și zona Coastei de Est. Ambele par să aibă destul de multe adrese IP localizate acolo. Se pare că numărul poate fi aproximativ același pe fiecare parte. Mergeți înapoi în selectorul de asistent pentru stratul de hartă și alegeți „Cluster”. Veți vedea acum harta cluster, așa cum este afișat mai jos:

Acum, uitându-ne la harta clusterului, putem vedea că numărul de servere de pe coasta de est în comparație cu zona golfului din San Francisco nu este nici măcar comparabil. San Francisco deține 58 dintre aceste servere, în timp ce Coasta de Est deține doar 32.

Această postare nu a fost menită să fie o cercetare inovatoare, ci doar o modalitate de a-mi înfunda picioarele în CartoDB.