Skocz do zawartości

Powierzchnia i ilośc ludności w krajach


Maximus Marius

Rekomendowane odpowiedzi

Szukam jakiegoś źródła gdzie była by lista powierzchni i ilosc ludnosci w danym kraju wraz z kodem kraju:

np.:

'PY': "5,49700",			
'PE': "38,08400",			
'PH': "78,77800",			
'PL': "423,18400",			
'PT': "75,58900",			
'PR': "13,32200",

teoretycznie można by było wydłubać to z wikipedii....

Odnośnik do komentarza
Udostępnij na innych stronach

<?php
set_time_limit(0);

$ch = curl_init('https://pl.wikipedia.org/wiki/Lista_państw');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$result = curl_exec($ch);
curl_close($ch);

preg_match_all('@<li><a href="/wiki/Grafika:Flag_of_.*?&#160;<a href="(.*?)" @i', $result, $matches);
echo count($matches[1])." panstw:<br />\r\n";

foreach($matches[1] as $i => $link)
{ $url = "https://pl.wikipedia.org$link";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);   
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$result = curl_exec($ch);
curl_close($ch);

$txt = strip_tags(preg_replace(array('~<sup .*?</sup>~i', '~&#160;~'), '', $result));
#preg_match('~Kod ISO 3166\n([[:alnum:]]+)~is', $txt, $kod);
preg_match('~Kod samochodowy\n([[:alpha:]]+)~is', $txt, $kod);
preg_match('~^([,\.\d\s]+) km²$~im', $txt, $pow);
preg_match('~\nLiczbaludności.*?(\n[\d]+. na świecie)?\n([ \.,\d]+(mln|tys)?)~is', $txt, $ludnosc); 
$pow[1] = str_replace(' ', '', $pow[1]);
$ludnosc[2] = str_replace(' ', '', $ludnosc[2]);
echo "'$kod[1]': \"$pow[1] / $ludnosc[2]\" <a href='$url' target='_blank'>$url</a> (".($i+1).")<br />\r\n"; flush();
}
echo "Koniec.";
?>

Część krajów (np. Abchazja) nie ma kodu samochodowego/ISO 3166/a nawet domeny (przynajmniej w wikipedii).

W przypadku Rosji, Kosowa liczba ludności wyrażona jest jako '142,0 mln' a nie liczbowo; mogą występować tez inne niekonsekwencje w formacie danych zapisanych w wikipedii, więc nie gwarantuję, że dla wszystkich państw preg_matche wyciągną dane prawidłowo.

and

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności