'Released_DESC', 'term' => $tag, 'displayterm' => $tag, 'category1' => 998, // only games ]); try { $text = $this->get_text($url); $this->dom->loadStr($text, []); } catch (\Exception $e) { echo $e->getMessage(); echo $e->getTraceAsString(); return ""; } unset($text); $games = $this->dom->find('#search_result_container a.search_result_row'); foreach ($games as $gameLink) { $url = $gameLink->getAttribute('href'); $url = substr($url,0,strpos($url, '?')); // remove query string $game = new Game; $game->url = $url; try { $text = $this->get_text($url); $this->dom = new Dom; $this->dom->loadStr($text, []); unset($text); $name = $this->dom->find('div.apphub_AppName'); $description = $this->dom->find('meta[property=og:description]'); try { $game->title = $name->innerHtml; $game->description = $description->innerHtml; } catch (\Exception $e) { echo 'No title or description found for '.$url.PHP_EOL; } } catch (\Exception $e) { echo $e->getMessage(); echo $e->getTraceAsString(); } $this->output .= $game->print(); } } protected function parse() { $this->parse_tag("text-based"); } public function checkPage($url) { return (strpos($url,'http://store.steampowered.com/') !== FALSE); } public function page($url) { $text = $this->get_text($url); try { $this->dom->loadStr($text, []); } catch (\Exception $e) { echo $e->getMessage(); echo $e->getTraceAsString(); return ""; } unset($text); $game = new Game; $game->url = $url; $name = $this->dom->find('div.apphub_AppName'); $description = $this->dom->find('meta[property=og:description]'); try { $game->title = $name->innerHtml; $game->description = $description->innerHtml; } catch (\Exception $e) { echo 'No title or description found for '.$url.PHP_EOL; } $date = trim($gameBlock->find('.icon-calendar')->first()->text); $date = \DateTime::createFromFormat('d F Y', $date); $date = $date->format('U'); $game->date = $date; return $game; } }