Noi primim lista țărilor, regiunilor, așezărilor din vkontakte

Obțineți o bază de date cu țări, regiuni, localități cu traducerea numelor și conexiunilor gratuit și fără înregistrare? Este real!

database.getCountries - Returnează lista țărilor.

database.getRegions - Returnează o listă a regiunilor.

database.getCities - Returnează lista localităților.

database.getCountriesById - Returnați informații despre țări în funcție de identificatori

database.getCitiesById - Returnează informații despre orașe prin identificatorii lor.

Opțiuni:
v indică versiunea API. În diferite versiuni ale structurii JSON vor fi diferite. De exemplu, începând cu versiunea 5.0, se adaugă numărul de valori, care conține numărul total de elemente din eșantion și, atunci când este utilizat împreună cu parametrul de offset, va obține toate valorile. În mod prestabilit, datele sunt returnate în versiunea veche (aparent pentru compatibilitatea cu aplicațiile mai vechi).
count - numărul maxim de valori returnate de metodă. Valoarea maximă a unui parametru care poate fi setată este de 1000 de elemente. Valoarea minimă și implicită pentru fiecare metodă pot fi diferite și ar trebui să consultați documentația.
need_all este un parametru opțional, implicit este "0", indicând faptul că regiunile mici / țările / așezările nu ar trebui să fie eșantionate
Parametrii rămași pentru fiecare funcție nu au nici un înțeles, deci sunt în documentația oficială, să trecem la oportunități informale:

Avem lista de țări pentru diferite limbi

Iată o scurtă listă de identificatori de limbi:

Obțineți o listă de regiuni pentru diferite limbi

Lista parametrilor, pentru metodă și descriere, poate fi găsită în documentație. Cu toate acestea, merită remarcat faptul că JSON-ul returnat poate fi gol, adică nu toate regiunile pot fi date regiunilor. în acest caz, atunci când este primită lista orașelor, parametrul region_id poate fi omis.

Avem lista de așezări

Datele returnate pentru fiecare localitate pot conține, de asemenea, următorii parametri:
zona - numele districtului (provincie, etc.)
important egal cu "1" - desemnarea orașelor mari, apare numai când utilizați parametrul need_all

Atenție vă rog! Unele regiuni nu pot conține așezări (sau ele însele să fie populate, așa cum o înțeleg).

Unele valori primite pot conține caractere speciale, etichete (de exemplu și
).

În acest moment, toate nuanțele pe care le-am observat la obținerea datelor descrise în articol. Aveți o groapă brută, scrisă în grabă de parser cu o eroare (gropile nu descarcă orașele care nu aparțin niciunei regiuni). Procesul de descărcare a durat 4 ore. La importul în Postgres, au apărut erori din cauza unei examinări insuficiente a unor caractere. În câteva zile intenționez să rescriu parserul și să creez un "dump" mai curat + dump în mai multe formate.

Încărcăturile brute:
234 de țări
3721 regiuni
1896563 orașe

Traduceri: rusă, ucraineană, engleză, spaniolă, portugheză, germană, franceză, italiană