2009-06-26 167 views
4

我想知道你們中的任何人是否知道如何實現一個後端系統,將檢索谷歌搜索引擎優化信息(網站排名,第一次在谷歌等X結果#ocurrences)。谷歌搜索API後端

我知道Google AJAX Search API(code.google.com/apis/ajaxsearch/)可以讓您檢索內容而不必使用「wget」或「curl」,但使用搜索信息似乎並不合法(code.google.com/apis/ajaxsearch/terms.html)。

關於如何實現這個的任何想法?

回答

0

http://toolbarqueries.google.com這是谷歌工具欄使用(或曾用於)獲得鏈接的PageRank。通過首先散列URL來檢查指定的格式,可以很容易地查詢它。

AFAIK它是一個未公開的API,因此它不清楚使用它的法律含義。

問候, DrSlump

2

我已經調查如何去與谷歌這樣做,並AFAICT真的沒有辦法做到這一點法律。由於他們的現金牛是SERP,他們不允許任何人以任何理由刮他們。

這裏有一些服務可以幫你挖掘谷歌,但是從我所知道的情況來看,他們都在對谷歌的TOS做這件事。如果你想出一個合法的方法,讓我知道。我猜想有一些人批准了批准,但我不確定他們是誰。

到目前爲止,我遇到的唯一的想法是:

  • 設置這是用來自動客戶查詢谷歌「代理服務器」。然後,代理可以看到結果並進行拼湊,而不是「自動化」。如果用戶輸入20個術語,則打開20個通過代理服務器進行搜索的框。
  • 搭載網站流量來站點。簡而言之:我訪問您的網站,並通過後臺JavaScript調用搜索Google並將結果發佈到您的網站。這是不道德的,因爲我可能想知道爲什麼「你的」搜索出現在我的Google歷史記錄中。

問題是「自動化」。我有一種感覺,那些這樣做的服務實際上在世界各地都有電腦農場,使它看起來(對谷歌來說)他們並沒有被刮掉。我猜測,除非你開始從一個IP上產生一些嚴重的流量,否則你會好一段時間。

也許你應該問一下權限?

0

在同一個文件夾中創建文件querygoogle.php

<?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; 
?> 

而且在同一個文件夾中創建另一個文件search.php

<?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']); 
} 
?> 

點擊搜索按鈕,結果都印有迴音$_SESSION['googleresults'];