it-swarm-ja.com

Webページの特定のリストでのみキーワードを正確に検索しますか?

307のWebページURLのリストがあります。 Google(または別の検索エンジン)に、それらの307のWebサイトでのみ特定のキーワードを正確に検索するように指示することは可能ですか?

スクリプトなどを使用してリストを循環し、各リストアイテムに対してGoogle検索を実行するように指示するアドバイスをいくつか読みました。しかし、これはGoogleにあなたがボットであると思わせ、検索をブロックさせませんか?

別の提案された方法は、wget(おそらくスクリプトを使用)などを使用してこれらの307のWebページをダウンロードし、ダウンロードしたWebページでローカル検索を実行することでした。しかし、グーグル検索がほぼ瞬時に行われる間、それは長い時間がかかります。

Googleには、URLのリストから検索するための組み込みメソッドがありませんか?

3
user1580348

ここではいくつかの質問がありますが、すべて適切な順序で回答するようにします。

Google(または別の検索エンジン)に、それらの307のWebサイトでのみ特定のキーワードを正確に検索するように指示することは可能ですか?

グーグルの 検索オプション を見てください。 「このように」引用することで、正確な用語を探すことができます。次に、site:オプションを使用してdomain(urlと同じではありません!)でフィルタリングできます。あなたの場合、次の形式で検索文字列を作成します。

"keyword" site:site1.com site:site2.com ...site:site307.com

...スクリプトを使用してリストを循環します...しかし、Googleはあなたがボットだとは思いませんか?

スクリプトを介して複数のGoogle検索を実行する場合の一般的なアプローチは、疑わしいと思われないように(場合によってはランダムな)遅延を挿入することです。


...それらの307のWebページをwgetでダウンロードします...それは長い時間がかかります。

それらのWebサイトを時々チェックする必要がある場合は、Webページのローカルコピーを保存して、定期的に更新することを検討できます。その場合、ローカル検索は非常に高速になります。それ以外の場合、Googleはキャッシュされた結果を処理し、接続とダウンロードを待つ必要がないため、高速になります。ただし、Webサイトがダウンしたり、深刻な問題が発生したりしない限り、30秒ほどですべてが終了するはずです。 list.txtというファイルにURLのリストがあるとすると、次のコマンドを実行するだけで済みます。

cat "list.txt" | parallel 'wget -q -O - {} | grep keyword'一致するコンテンツを表示する、または:
cat "list.txt" | parallel 'if wget -q -O - {} | grep -q keyword; then echo {}; fi'(URLの場合)または:cat "list.txt" | parallel 'if wget -q -O - {} | grep keyword; then echo {}; fi'(両方を表示)。


Googleには、URLのリストから検索するための組み込みメソッドがありませんか?

はい、あります カスタム検索

Googleカスタム検索を使用すると、次のことができます。
-指定されたサイトまたはページのコレクション全体を検索するカスタム検索エンジンを作成します

3
simlev