Пример #1
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $client = new \Goutte\Client();
     foreach (\MkmScraper\Card::all() as $card) {
         if ($card->todaysPrice()->count() < 1) {
             $crawler = $client->request('GET', 'https://www.magiccardmarket.eu/Products/Singles/' . rawurlencode($card->set) . '/' . rawurlencode($card->name));
             \Log::info('https://www.magiccardmarket.eu/Products/Singles/' . rawurlencode($card->set) . '/' . rawurlencode($card->name));
             $available = 0;
             $lowfinal = 0;
             $trendfinal = 0;
             try {
                 if ($av = $crawler->filter('.sectioncontent .availTable .row_0  .cell_0_1')->first()) {
                     $available = $av->text();
                 }
                 if ($lo = $crawler->filter('.sectioncontent .availTable .row_1  .cell_1_1 span')->first()) {
                     $low = $lo->text();
                     $lowfinal = str_replace(",", ".", $low);
                 }
                 if ($tr = $crawler->filter('.sectioncontent .availTable .row_2  .cell_2_1')->first()) {
                     $trend = $tr->text();
                     $trendnumber = explode(" ", $trend);
                     $trendfinal = str_replace(",", ".", $trendnumber[0]);
                 }
             } catch (Exception $e) {
                 print $e->getMessage();
             }
             $cardPrice = \MkmScraper\CardPrice::create(array("id_card" => $card->id, "low" => $lowfinal, "trend" => $trendfinal, "sellers" => $available));
         }
     }
 }
Пример #2
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     foreach (\MkmScraper\Card::all() as $card) {
         $product = queryMKMAPI("product/" . $card->id);
         $articles = queryMKMAPI("articles/" . $card->id);
         $price = $product->product->priceGuide;
         $cardPrice = \MkmScraper\CardPrice::create(array("id_card" => $card->id, "sell" => $price->SELL, "low" => $price->LOW, "lowex" => $price->LOWEX, "lowfoil" => $price->LOWFOIL, "avg" => $price->AVG, "trend" => $price->TREND, "sellers" => sizeof($articles->article)));
     }
 }
Пример #3
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $client = new \Goutte\Client();
     foreach (\MkmScraper\Card::all() as $card) {
         if (\MkmScraper\GraphPrice::where("id_card", $card->id)->where("created_at", ">", date('Y-m-d H:i:s', strtotime('-1 week')))->count() < 1) {
             $crawler = $client->request('GET', 'https://www.magiccardmarket.eu/Products/Singles/' . rawurlencode($card->set) . '/' . rawurlencode($card->name));
             $available = $crawler->filter('#ProductInformation script')->first()->text();
             $split = explode("chartData =", $available);
             $split2 = explode(";var ctx", $split[1]);
             $object = json_decode($split2[0]);
             $count = 0;
             foreach ($object->labels as $key => $label) {
                 if (\MkmScraper\GraphPrice::where("id_card", $card->id)->where("date", date_format(date_create_from_format('d.m.y', $label), 'Y-m-d'))->count() < 1) {
                     \MkmScraper\GraphPrice::create(array("id_card" => $card->id, "date" => date_format(date_create_from_format('d.m.y', $label), 'Y-m-d'), "sell" => $object->datasets[0]->data[$key]));
                     $count++;
                 }
             }
             if ($count == 0) {
                 \MkmScraper\GraphPrice::create(array("id_card" => $card->id, "date" => "0000-00-00", "sell" => ''));
             }
             print $card->name . "\n";
         }
     }
 }
Пример #4
0
Route::get("scrape", function () {
    $client = new \Goutte\Client();
    $crawler = $client->request('GET', 'http://mtgtop8.com/event?e=10488');
    $link = $crawler->filter("td>div>div a")->each(function ($node) use($client) {
        if (strpos($node->attr('href'), "event") !== false) {
            print "http://mtgtop8.com/" . $node->attr('href') . " - " . $node->text() . "<br>";
            $dlcrawler = $client->request('GET', "http://mtgtop8.com/" . $node->attr('href'));
            $link = $dlcrawler->filter("table table td .chosen_tr,table table td .hover_tr")->each(function ($node) {
                print "<b>" . $node->text() . "</b><br>";
            });
        }
    });
});
Route::get("htmlscrape", function () {
    $client = new \Goutte\Client();
    foreach (\MkmScraper\Card::all() as $card) {
        $time = microtime();
        $crawler = $client->request('GET', 'https://www.magiccardmarket.eu/Products/Singles/' . rawurlencode($card->set) . '/' . rawurlencode($card->name));
        $available = $crawler->filter('#ProductInformation script')->first()->text();
        $split = explode("chartData =", $available);
        $split2 = explode(";var ctx", $split[1]);
        $object = json_decode($split2[0]);
        foreach ($object->labels as $key => $label) {
            if (\MkmScraper\GraphPrice::where("id_card", $card->id)->where("date", date_format(date_create_from_format('d.m.y', $label), 'Y-m-d'))->count() < 1) {
                \MkmScraper\GraphPrice::create(array("id_card" => $card->id, "date" => date_format(date_create_from_format('d.m.y', $label), 'Y-m-d'), "sell" => $object->datasets[0]->data[$key]));
            }
        }
        print $card->name . " - " . (microtime() - $time) . " ms </br>";
    }
});
Route::get("decklists/wizards", function () {