Користувач:Дядько Ігор/Скрипти/Сільрада

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
#!/usr/bin/perl 

use Encode;

open(SL, "silrada_in.txt");

while  ($url = <SL>)
{ 
$url =~s/^\s+//;
$url =~s/\s+$//;
$url =~ s/\&/\\\&/; 
$line = `curl $url`;
$line = encode("utf-8", decode("cp1251", $line)); 
$line_name = $line;
$line_rdat = $line;

$line_name =~ m/News">(.*?)<\/h3/g; 
$name1 = $1; 
$name1 =~ s/<br>/\,/;
($name2, $region, $district) = split(/\,/, $name1, 3);
($shortname, $rest) = split(/ /, $name2, 2); 
$searchname = "$shortname сільрада"; 

$line_rdat =~ m/rdat1=(.*?)"/g; 
$rdat = $1; 
 
$i = 0;
while ($line =~ m/News">(.*?)\&nbsp\;/g)
{
@val[$i] = $1;
$i++;
}

$area = @val[23]/1000;
$area =~ s/\./\,/;
$pop = @val[26];
$pop =~ s/\.//;
$centre = @val[17];
$centre =~ s/^с //; 
$centre =~ s/^смт //;
$address = @val[33];
$zip = @val[14];
$phone = @val[31];
$phonecode = @val[30];

open(CVK, "cvk.csv");
  
while($line1 = <CVK>)
{
  ($c1, $c2, $c3, $c4) = split(/\;/,$line1, 4);
  $c4 =~ s/\n//;  
  if ($c3 eq $searchname){
    $district =~ s/^ //;
    $district =~ s/ $//;
    $distr1 = $district;
    if ($c4 eq $distr1){ 
   $KOA = $c2}}
}

$url2 = "http://gska2.rada.gov.ua/pls/z7502/A007?rdat1=$rdat";
$url2 =~ s/\&/\\\&/; 
$line2 = `curl $url2`;
$line2 = encode("utf-8", decode("cp1251", $line2)); 

$i = 0;
while ($line2 =~ m/News">\n(.*?)\n\&nbsp\;/g)
{
@val2[$i] = $1;
$i++;
}

$members = @val2[6];

print<<ECARD;
START
{{Селищна рада|
   | назва               = $name2
   | будівля             = $picture
   | зображення_розмір   = $picture_size
   | зображення_підпис   = $caption
   | розташування        = $location
   | регіон              = $region
   | район               = $district
   | центр               = $centre
   | голова              = $head
   | кількість членів    = $members
   | код КОАТУУ          = $KOA
   | облікова картка     = $card
   | площа               = $area
   | населення           = $pop
   | населені пункти     = $villages
   | поштовий індекс     = $zip
   | телефонний код      = $phonecode
   | адреса              = $address
   | телефонний номер    = $phone
   | електронна скринька = $email
   | веб-сторінка        = $web
  }}

'''$name2 '''

END
ECARD
;

}