3

私は練習用にphpで小さな盗作検出システムを構築しています。Google で調査を行ったところ、Google API (カスタム検索 API) を使用して剽窃検出ソフトウェアを構築できる可能性があることがわかりました。

この質問は非常に役に立ちました [剽窃防止サイトをどのようにコーディングしますか?]

次のコードを使用して、Google APIから検索結果を取得できました

<?php
ini_set('max_execution_time',300);
require_once '../../src/Google_Client.php';
require_once '../../src/contrib/Google_CustomsearchService.php';
session_start();

$client = new Google_Client();
$client->setApplicationName('Google CustomSearch PHP Starter Application');
$client->setDeveloperKey('MY_DEVELOPER_KEY');
$search = new Google_CustomsearchService($client);

$to_search="This is the text that should be searched in google so that the result that     I obtain can be used by my codes to perform plagarism analysis";

$result = $search->cse->listCse($to_search, array('cx' => 'MY_SEARCH_ENGINE_ID'));
 for($i=0; $i<6; $i++)
 {

   print "<pre>" . print_r($result, true) . "</pre>";

 }
?> 

$result 変数から、Google 検索から取得した [リンク]、[スニペット]、および [HTML スニペット] を取得しました。以下のコードを使用して

   $result['items'][$i]['snippet'];
$result['items'][$i]['link'];

$i は loop から取得した整数値です。

問題は 、ご存知のように、Google で検索するための短いキーワードまたは数行しか送信できず、巨大なテキストは送信できないため、テキストの大きなチャンクを小さな行に分割して複数のクエリを実行する必要があるかどうかです。または私は何か他のことをすべきですか?私が取得するスニペットとリンク値は、盗用について分析できます。これを行うと、膨大な量のクエリが発生し、1 日あたり 100 クエリの制限を超えました。

私がやるべきことを行う適切な方法を教えてください。Google にクエリを実行してから、剽窃のユーザー入力を使用して巨大なテキストを分析する方法は、これは正しい方法ですか?

4

1 に答える 1

1

私がそれを行う方法は、ページのタイトルをグーグルで検索して、完全に一致するものを探すことです。誰かがあなたのコンテンツを盗んだ場合、同じタイトルを使用している可能性があります。

ここから、盗まれた可能性のあるコンテンツを含むページを取得して比較できます。

より洗練された方法は、独自のコンテンツを検索して、統計的に可能性が低い単語やフレーズを検索することです。現代の平均使用率よりも低い単語です。次に、最も可能性の低い単語をすべて含むコンテンツを Google で検索します。ただし、検索結果の低い単語と Google で過度に使用されている単語の大規模なデータベースを構築する必要があるため、これは最初のアプローチよりもはるかに難しくなります。

3 つ目の手法は、スペルミスのある単語をコンテンツで検索することです。次に、スクリプトにスペルミスを Google で検索させ、一致するものを探します。

4 つ目は、自動化されたスクレーパーを停止するのに最も効果的であり、予防のみを目的としており、システムにでっち上げの単語 (検索結果がまったく得られない文字と数字の文字列) を作成させることです。次に、スクリプトで新しい検索結果を監視します。

上記を組み合わせると、おそらく非常に優れたスクリプトが作成され、オープン ソースとしてリリースすることをお勧めします。

あなたのプロジェクトの幸運を祈ります。

于 2013-03-29T13:24:42.907 に答える