Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
31
rated 0 times [  35] [ 4]  / answers: 1 / hits: 16551  / 12 Years ago, sun, january 27, 2013, 12:00:00

I trying to get my head around how to fetch Google search results with PHP or JavaScript. I know it has been possible before but now I can't find a way.



I am trying to duplicate (somewhat) the functionality of

http://www.getupdated.se/sokmotoroptimering/seo-verktyg/kolla-ranking/



But really the core issue I want to solve is just to get the search result via PHP or JavaScript,the rest i can figure out.



Fetching the results using file_get_contents() or cURL doesn't seem to work.



Example:



$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, 'http://www.google.se/#hl=sv&q=dogs');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$result = curl_exec($ch);
curl_close($ch);
echo '<pre>';
var_dump($result);
echo '</pre>';


Results:




string(219) 302 Moved The document has moved here.




So, with some Googling i found http://code.google.com/apis/customsearch/v1/overview.html but that seems to only work for generating a custom search for one or more websites.
It seem to require a Custom Search Engine cx-parameter passed.



So anyway, any idea?


More From » php

 Answers
113

I did it earlier. Generate the html contents by making https://www.google.co.in/search?hl=en&output=search&q=india http request, now parse specific tags using the htmldom php library. You can parse the content of result page using PHP SIMPLE HTML DOM




DEMO : Below code will give you title of all the result :




<?php

include(simple_html_dom.php);

$html = file_get_html('http://www.google.co.in/search?hl=en&output=search&q=india');

$i = 0;
foreach($html->find('li[class=g]') as $element) {
foreach($element->find('h3[class=r]') as $h3)
{
$title[$i] = '<h1>'.$h3->plaintext.'</h1>' ;
}
$i++;
}
print_r($title);

?>

[#80590] Friday, January 25, 2013, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
tristab

Total Points: 735
Total Questions: 106
Total Answers: 96

Location: Grenada
Member since Sun, Dec 20, 2020
3 Years ago
tristab questions
Sat, Sep 25, 21, 00:00, 3 Years ago
Sun, Jan 31, 21, 00:00, 3 Years ago
Wed, Dec 2, 20, 00:00, 4 Years ago
Fri, Oct 23, 20, 00:00, 4 Years ago
;