public function ScrapeDepartures($hour_stamp)
 {
     $url = "http://www.prg.aero/en/flight-info/arrivals-departures/departures/?hour=" . $hour_stamp;
     // single curl request
     $fetch = parent::SingleCurl($url);
     //$fetch[EXE] is html, $fetch[INF] is info about scrape
     //xpath to extract table rows
     $xpath = array('//div[@class="content-middle-holder"]/table/tbody/tr');
     $rows = parent::ExtractWithXpath($fetch['EXE'], $xpath, 'html', 'multiple');
     //extract including html
     return $rows;
 }
 public function ScrapeCountries()
 {
     $url = "http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2";
     // single curl request
     $fetch = parent::SingleCurl($url);
     //$fetch[EXE] is html, $fetch[INF] is info about scrape
     //xpath to extract table rows
     $xpath = array('//table[@class="wikitable sortable"][1]/tr');
     $rows = parent::ExtractWithXpath($fetch['EXE'], $xpath, 'html', 'multiple');
     //extract including html
     array_shift($rows);
     //remove first element of array - names of columns
     return $rows;
 }
Esempio n. 3
0
 public function ScrapeDestinations($scrapecity)
 {
     //so far haveing vienna, berlin, munich
     $dbcolumn = $scrapecity . '_operated';
     //viennadestinations is from https://www.google.cz/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=direct%20flights%20from%20vienna
     $url = 'http://www.prague-airport.com/' . $scrapecity . 'destinations';
     // single curl request
     $fetch = parent::SingleCurl($url);
     //$fetch[EXE] is html, $fetch[INF] is info about scrape
     $dataArray = parent::ExtractWithXpath($fetch['EXE'], $this->CityCountryPatterns, 'text', 'multiple');
     //update vienna_operated
     //set all to false
     DB::table('cities')->update(array($dbcolumn => 0));
     foreach ($dataArray as $raw_input) {
         //update operated column
         $address = Address::has('city')->where('raw_input', $raw_input)->first();
         if (!empty($address)) {
             $address->city->{$dbcolumn} = 1;
             $address->push();
         } else {
             Address::firstOrCreate(['raw_input' => $raw_input]);
         }
     }
 }