class GoogleShoppingController extends Controller { private $html; private function getHtml($url) { $request = new Client(); try { $response = $request->get($url); } catch (RequestException $e) { echo $e->getRequest(); if ($e->hasResponse()) { echo $e->getResponse(); } } $this->html = $response->getBody(); $this->loadHtmlDom(); } private function loadHtmlDom() { phpQuery::newDocumentHTML($this->html); } private function getLinks($url, $selector) { $this->getHtml($url); foreach (phpQuery::pq($selector) as $link) { $links[] = phpQuery::pq($link)->attr("href"); } return $links; } public function test() { $urls = $this->getLinks("https://www.google.com/search?q=mattress&hl=en&tbm=shop", ".r a"); foreach ($urls as $url) { $parsed = parse_url($url); var_dump($parsed); foreach ($urls as $url) { $parsed = parse_url($url); if (isset($parsed['host']) && strpos($parsed['host'], 'google.com') !== FALSE) { $queryString = parse_str($parsed['query']); var_dump($queryString); $x = parse_url($adurl); var_dump($x); if (isset($x['query'])) { $y = parse_str($x['query']); var_dump($y); if (!R::find('sproduct', ' url = ?', array($ds_dest_url))) { // sproduct is sponsored product (that's I'm why parsing adurl) $sproduct = R::dispense('sproduct'); $sproduct->url = $ds_dest_url; $sproduct->scraped = FALSE; //R::store($sproduct); //var_dump($sproduct); } } } else { $parsed['host'] = 'www.google.com'; // google shopping product unset($parsed['query']); $link = "http://" . $parsed['host'] . $parsed['path']; if (!R::find('gproduct', ' url = ?', array($link))) { $gproduct = R::dispense('gproduct'); $gproduct->url = $link; $gproduct->scraped = FALSE; //R::store($gproduct); //var_dump($gproduct); } } } } }