Google Search API Backend

3 Cevap php

Sizden (google, vb ilk X sonuçlarında Sitesi Sıralaması, # ocurrences) Google SEO bilgi almak olacak bir arka uç sistemi uygulamak için nasıl biliyorsanız, ben merak ediyorum.

I (code.google.com / apis / ajaxsearch /) Google AJAX Search API biliyorum "wget" veya "bitki" zorunda, ancak arama bilgileri kullanarak olmadan içeriği almak için izin verecek yasal (kod olarak görünmüyor .google.com / apis / ajaxsearch / terms.html).

Bu nasıl uygulanacağı konusunda herhangi bir fikir?

3 Cevap

Google ile bunu hakkında gitmek nasıl araştırdık ve AFAICT yasal bunu yapmak için hiçbir şekilde gerçekten var. Nakit-inek olanlar SERPs olduklarından, kimse herhangi bir nedenle onları kazımak için izin vermez.

Orada sizin için Google kazımak olacak orada hizmetlerin bir takım, ama ben ne söyleyebilirim, hepsi Google'ın TOS karşı bunu yapıyor. Eğer yasal olarak bunu yapmak için bir yol anlamaya varsa, bana bildirin. Ben verilen izinle kazımak kim kaç vardır tahmin ediyorum, ama kim olduklarını emin değilim.

Ben yaşadım sadece fikirler çok uzak:

  • Müşteri Google sorguları otomatikleştirmek için kullanılan bir "proxy sunucusu" kurmak. Proxy sonra sonuçları görmek ve kazıma yapmak ve "otomatik." Değil olabilir Kullanıcı 20 terimler girerse, o zaman proxy sunucusu üzerinden arama yapmak 20 kare açın.
  • Bir siteye gelen web trafiği omzunda. Kısacası: Ben sitenizi ve çağrı Google arama JavaScript bir arka plan ziyaret ve sitenize sonuçlarını nakleder. Bu, "sizin" aramaları Google geçmişinde görünmesini Acaba neden olabilir, etik değildir.

Sorunu "otomatik" dir. Bu aslında dünyadaki bilgisayarların çiftlikleri var bu hizmetleri onlar kazınır varlık olmadığını (Google) görünmesi için bir his var. Ben tek bir IP adresinden bazı ciddi trafik üreten başlamak sürece, bir süre için iyi olacağını tahmin ediyorum.

Belki de sadece izin istemek gerekir?

Google toolbar kullanır (veya kullanmak için kullanılan) bir bağlantı için PageRank elde etmek için ne http://toolbarqueries.google.com hangi vardır. Kolayca belirli bir biçim içinde kontrol etmek için ilk URL'yi karma tarafından sorgulanabilir.

AFAIK bir API belgesiz ve gibi onu kullanmanın hukuki sonuçları belli değil.

regards, DrSlump

: Dosyayı querygoogle.php aynı klasörde oluşturun

<?php
session_start();
// Here's the Google AJAX Search API url for curl. It uses Google Search's site:www.yourdomain.com syntax to search in a specific site. I used $_SERVER['HTTP_HOST'] to find my domain automatically. Change $_POST['searchquery'] to your posted search query

$url = 'http://ajax.googleapis.com/ajax/services/search/web?rsz=large&v=1.0&start=20&q=' . urlencode('' . $_POST['searchquery']);
// use fopen and fread to pull Google's search results
$handle = fopen($url, 'rb');
$body = '';
while (!feof($handle)) {
    $body .= fread($handle, 8192);
}
fclose($handle);

// now $body is the JSON encoded results. We need to decode them.
$json = json_decode($body);

// now $json is an object of Google's search results and we need to iterate through it.
foreach($json->responseData->results as $searchresult)
{
    if($searchresult->GsearchResultClass == 'GwebSearch')
    {
        $formattedresults .= '
    <div class="searchresult">
    <h3><a href="' . $searchresult->unescapedUrl . '">' . $searchresult->titleNoFormatting . '</a></h3>
    <p class="resultdesc">' . $searchresult->content . '</p>
    <p class="resulturl">' . $searchresult->visibleUrl . '</p>
    </div>';
    }
}

$_SESSION['googleresults'] = $formattedresults;
header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;
?>

: Ve diğer dosya search.php aynı klasörde oluşturun

<?php
session_start();
?>

<form method="post" action="querygoogle.php">
<label for="searchquery"><span class="caption">Search this site</span> <input type="text" size="20" maxlength="255" title="Enter your keywords and click the search button" name="searchquery" /></label> <input type="submit" value="Search" />
</form>

<?php
if(!empty($_SESSION['googleresults']))
{
    echo $_SESSION['googleresults'];
    unset($_SESSION['googleresults']);
}
?>

Arama butonu ve sonucunu tıklayın yankı $_SESSION['googleresults']; ile basılır