2009-06-26 21 views
4

私は、GoogleからのSEO情報を取得するバックエンドシステムを実装する方法を知っている人がいるかどうか疑問に思っていました(ウェブサイトランキング、googleなどの最初のX結果の#ocurrences)。Google検索APIバックエンド

Google AJAX Search API(code.google.com/apis/ajaxsearch/)を使用すると、「wget」や「curl」することなくコンテンツを取得できますが、検索情報を使用すると合法であること(code.google.com/apis/ajaxsearch/terms.html)。

これを実装する方法に関するアイデアはありますか?

答えて

0

http://toolbarqueries.google.comは、GoogleツールバーがリンクのPageRankを取得するために使用する(または使用する)ものです。 URLをハッシュして指定された形式でチェックすることで、簡単に照会できます。

AFAIKこれはドキュメント化されていないAPIなので、それを使用することによる法的な影響は明確ではありません。

に関して、 DrSlumpは

2

私はグーグルでこれをやって行く方法を検討した、とAFAICTは本当に合法的にそれを行うための方法はありません。彼らの現金牛はSERPなので、何らかの理由で誰かがそれらを掻き取ることはできません。

あなたのためにGoogleをスクラップするサービスがたくさんありますが、私が知る限り、彼らはすべてGoogleのTOSに対して行っています。法的にこれを行う方法を見つけたら、教えてください。私は許可された許可で掻き集める少数の人がいると思っていますが、私は彼らが誰なのか分かりません。私がこれまで持っていた

唯一のアイデアがあります:お客様のGoogleクエリを自動化するために使用されている「プロキシサーバー」を設定し

  • 。プロキシは結果を確認して掻き取りを行うことができ、「自動化」されません。ユーザーが20語を入力すると、プロキシサーバー経由で検索を行う20個のフレームを開きます。
  • サイトにアクセスするウェブトラフィックにピギーバックが発生する。要するに、私はあなたのサイトを訪問し、背景のJavaScript呼び出しはGoogleを検索し、あなたのサイトに結果を投稿します。これは非倫理的です。なぜ私の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'];