Wyciąganie danych z gusu (nowa wersja) - regon/nip

Odpowiedz Nowy wątek
2015-01-02 17:58
0

Witam,

Ma ktoś może gotowe skrypty do wyciągania danych z nowej wersji gusu? Chodzi mi o nip/regon przez php.
Jeżeli nie to chociaż jakiś wskazówki jak się za to zabrać, na razie firebugiem próbowałem debugować, ale mało rozumiem.

Pozdrawiam,
Darej

Pozostało 580 znaków

2015-01-02 19:13
0

"próbowałem debugować" to znaczy co robiłeś?

1) Umiesz korzystać z zakładki Sieć w Firebugu?
2) Umiesz wysłać żądanie POST z poziomu php?

PS. Gotowca wykonam na zlecenie, jak coś ktoś to pisać pm.


Pozostało 580 znaków

2015-01-02 20:22
0

Poczytaj o cURL jeśli nie rozumiesz to zapłać komuś. Lub poczytaj o JSON jesli dane są wczytywane asynchronicznie przez Jave Script (łatwo to sprawdzić wyłącz Jave Script w przeglądarce i sprawdź czy dalej się będzie wyświetlało.)

Pozostało 580 znaków

2015-01-08 19:07
0

A inne pytanie czy można pobrać dane po regon/nip bez captcha? Ma ktoś jakies informacje na ten temat?

edytowany 1x, ostatnio: d4rqu, 2015-01-08 19:08

Pozostało 580 znaków

2015-01-08 20:02
0

Można, jakaś firma udostępnia płatne API.

A generalnie po to jest captcha, żeby była - właśnie dla takich zawodników piszących boty


Pozostało 580 znaków

2015-01-08 20:55
0

A nie wiesz to płatne API? To oni mają jakąś umowę z GUS? Czy na jakiej zasadzie to działa?

Pozostało 580 znaków

2015-01-08 21:34
0

Nie pamiętam nazwy, ale w Google znajdziesz.
Nie wiem czy mają umowę czy coś - najlepiej ich zapytaj, skąd ja mam to wiedzieć?
Być może łamią captchę - ale tutaj GUS zbyt sprawnie by wyłapał mimo wszystko taką ilość requestów nawet z poprawną captchą - chyba, że mają botnet, ale wątpię, żeby prowadzili wątpliwą prawnie działalność.

BTW: Jeżeli budujesz narzędzie na wielką skalę to uważaj - pisanie takich automatów może być podciągnięte pod jakiś paragraf (o łamaniu zabezpieczeń i zakłócaniu pracy systemów komputerowych). Lepiej skonsultuj się bezpośrednio z GUS - a nuż mają jakieś API?


Pozostało 580 znaków

2015-01-09 14:10
0

Wysłałem maila do GUS i czekam na odpowiedz. Rozmawiałem z kolegami z pracy i z tego co mi mówią to próba łamania captchy jest bez sensu. Stracę tylko czas.

Pozostało 580 znaków

2015-01-11 13:20
0

Tak na szybko napisałeś coś takiego:

klasa używa do łączenia się przez curla tego wrappwera:
https://github.com/php-curl-class/php-curl-class

 
       require './Curl/Curl.php';
 
       use \Curl\Curl;
 
        /**
        * @author john zuk <[email protected]>
        * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
        */
       class Gus
       {
 
           private $captachFileName = 'captach.jpeg';
 
           private $loginUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/Zaloguj';
 
           private $getCaptachUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/PobierzCaptcha';
 
           private $checkCaptachUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/SprawdzCaptcha';
 
           private $searchDataUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/daneSzukaj';
 
           private $getComplexDataUrl = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc/ajaxEndpoint/DanePobierzPelnyRaport';
 
           private $loginData = array("pKluczUzytkownika" => "aaaaaabbbbbcccccdddd");
 
           public function __construct()
           {
               session_start();
           }
 
           public function login()
           {
                $_SESSION['time'] = time();
                $curl = new Curl();
                $curl->setHeader('Content-Type', 'application/json');
 
                $curl->post($this->loginUrl, json_encode($this->loginData));
 
                $_SESSION['sid'] = $curl->response->d;
 
                $curl->close();
           }
 
           public function getCaptach()
           {
               $curl = new Curl();
               $curl->setHeader('Content-Type', 'application/json');
               $curl->setHeader('sid', $_SESSION['sid']);
               $curl->post($this->getCaptachUrl, '');
 
               $image = fopen($this->captachFileName,'w+');
               fwrite($image, base64_decode($curl->response->d));
               fclose($image);
 
               $curl->close();
 
           }
 
           public function checkCaptach($captach)
           {
               $curl = new Curl();
               $curl->setHeader('Content-Type', 'application/json');
               $curl->setHeader('sid', $_SESSION['sid']);
               $curl->post($this->checkCaptachUrl, json_encode(array('pCaptcha'=>$captach)));
               $curl->close();
 
               return $curl->response->d;
           }
 
           public function getNipInfo($nip)
           {
               $regon = $this->getInfo($nip);
 
               $searchData = array(
                    'pNazwaRaportu'=>'DaneRaportPrawnaPubl',
                    'pRegon' => $regon[0]->Regon,
                    'pSilosID' => 0
                );
 
               $curl = new Curl();
               $curl->setHeader('Content-Type', 'application/json');
               $curl->setHeader('sid', $_SESSION['sid']);
               $curl->post($this->getComplexDataUrl, json_encode($searchData));
               $curl->close();
 
               $response = json_decode($curl->response->d);
               return $response[0];
           }
 
           private function getInfo($nip)
           {
               $searchData = array(
                'jestWojPowGmn' => true,
                'pParametryWyszukiwania' => array(
                    'AdsSymbolGminy' => null,
                    'AdsSymbolMiejscowosci' => null,
                    'AdsSymbolPowiatu' => null,
                    'AdsSymbolUlicy' => null,
                    'AdsSymbolWojewodztwa' => null,
                    'Dzialalnosci' => null,
                    'FormaPrawna' => null,
                    'Krs' => null,
                    'Krsy' => null,
                    'NazwaPodmiotu' => null,
                    'Nip' => $nip,
                    'Nipy' => null,
                    'NumerwRejestrzeLubEwidencji' => null,
                    'OrganRejestrowy' => null,
                    'PrzewazajacePKD' => false,
                    'Regon' => null,
                    'Regony14zn' => null,
                    'Regony9zn' => null,
                    'RodzajRejestru' => null
                    )
                );
 
               $curl = new Curl();
               $curl->setHeader('Content-Type', 'application/json');
               $curl->setHeader('sid', $_SESSION['sid']);
               $curl->post($this->searchDataUrl, json_encode($searchData));
               $curl->close();
 
               return json_decode($curl->response->d);
 
            }
       }
 
       $Gus = new Gus();
 
       if(isset($_POST['captach'])){
           if($Gus->checkCaptach($_POST['captach']))
           {
               echo 'capta ok!';
               echo '<pre>';
               var_dump($Gus->getNipInfo('5250010976'));
               echo '</pre>';
           }
           else{
               echo 'capta error';
               $Gus->login();
               $Gus->getCaptach();
               echo '<img src="captach.jpeg">';
                echo '<form action="" method="POST">';
                echo '<input type="text" name="captach" >';
                echo '<input type="submit" value="Chceck">';
                echo '</form>';
           }
       }
       else{
           $Gus->login();
           $Gus->getCaptach();
 
           echo '<img src="captach.jpeg">';
           echo '<form action="" method="POST">';
           echo '<input type="text" name="captach" >';
           echo '<input type="submit" value="Chceck">';
           echo '</form>';
       }
captach, capta, captcha - co za różnica? :p - dzek69 2015-01-11 14:00

Pozostało 580 znaków

2015-02-16 14:42
0

Dziekuje za posta.

Przepraszam ze pozno odpisuje, nie bylo mnie troche ;p

Mam pytanie, podczas proby uruchomienia otrzymuje nastepujacy blad:

Notice: Trying to get property of non-object in C:\xampp\htdocs\gus_regon\gus.php on line 38

Notice: Trying to get property of non-object in C:\xampp\htdocs\gus_regon\gus.php on line 51

I captcha nie pokazuje sie poprawnie

Pozostało 580 znaków

2015-02-17 09:36
Wybitny Szczur
0

https://github.com/johnzuk/GusApi

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 1

Robot: Bingbot