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);
}
}
}
}
}