środa, 28 listopada 2012

Rejestr przedsiębiorców telekomunikacyjnych z UKE [parser]


Parser, który pozwala na pobranie listy przedsiębiorców telekomunikacyjnych z bazy UKE, korzystając z wyszukiwarki http://www.uke.gov.pl/marta/searcherRptForm.vm.


<?php
// Michał Błaszczak
// blaszczakm.blogspot.com

function uke($id)
{
$data =
file_get_contents("http://www.uke.gov.pl/marta/resultRptDetails.vm?form=1&id=$id");
$dom = new domDocument;
@$html = @$dom->loadHTML($data);
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName('table');
$rows = $tables->item(0)->getElementsByTagName('tr');
$dane='';
  foreach ($rows as $row)
  {
      $cols = $row->getElementsByTagName('td');

        $intro = $cols->item(0)->nodeValue;

        $t = explode("\n",$intro);
        $dane .= trim($t[1]);
        $dane .=';';
    }
system("echo '$dane' >> uke.csv");
}


for($i=1;$i<1000;$i++) // pierwszy 1000
{
        uke($i);
}



?>


Na sam koniec dla ładnego wyniku

iconv --from-code=UTF-8 --to-code=ISO-8859-2 --output uke1.csv uke.csv

W pliku uke1.csv dostaniemy pierwszy tysiąc operatorów telekomunikacyjnych.

Jeśli, ktoś jest nie techniczny, a bardzo potrzebuje listę operatorów telekomunikacyjnych to niech nie piszę na mail tylko zostawi namiar do siebie w komentarzu pod postem, a ja się odezwę.