
307 個の Web ページ URL のリストがあります。Google (または別の検索エンジン) に、特定のキーワードを正確にそれらの 307 個の Web サイトでのみ検索するように指示することは可能ですか?
スクリプトなどを使用してリストを循環し、リストの各項目に対して Google 検索を実行するようにというアドバイスをいくつか読んだことがあります。しかし、これでは Google がボットであると認識し、検索をブロックしてしまうのではないでしょうか。
提案された別の方法は、wget (おそらくスクリプトを使用) または同様のものを使用して 307 個の Web ページをダウンロードし、ダウンロードした Web ページでローカル検索を実行するというものでした。ただし、この方法では長い時間がかかりますが、Google 検索はほぼ瞬時に完了します。
Google には URL のリストから検索する組み込みメソッドがありませんか?
答え1
ここではいくつかの質問が寄せられていますが、適切な順序ですべてに答えるようにします。
Google (または他の検索エンジン) に、特定のキーワードを正確にこれらの 307 の Web サイトでのみ検索するように指示することは可能ですか?
Googleの検索オプション. 正確な用語を検索するには、「このように」引用符で囲みます。その後、ドメイン(URL と同じではありません!)site:
オプションを使用します。この場合、検索文字列は次の形式で作成されます。
"keyword" site:site1.com site:site2.com ...site:site307.com
...スクリプトを使用してリストを循環します...しかし、Google はあなたをボットだと考えませんか?
スクリプトを使用して複数の Google 検索を実行する場合の一般的なアプローチは、疑わしいと思われないように (ランダムな場合もある) 遅延を挿入することです。
...wget を使用して 307 個の Web ページをダウンロードします...これには長い時間がかかります。
時々これらの Web サイトをチェックする必要がある場合は、Web ページのローカル コピーを保存して定期的に更新することを検討してください。そうすれば、ローカル検索が非常に高速になります。そうでない場合は、Google の方が高速です。キャッシュされた結果を使用して動作し、接続とダウンロードを待つ必要がないためです。ただし、Web サイトがダウンしているか深刻な問題が発生していない限り、30 秒程度ですべて完了します。 というファイルに URL のリストがあると仮定するとlist.txt
、次のコマンドを実行するだけです。
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 カスタム検索を使用すると、次のことが可能になります。
- 指定したサイトやページのコレクションを検索するカスタム検索エンジンを作成する