Web クローラーの本質は、実際にはインターネットからデータを「盗む」ことです。 Web クローラーを通じて、必要なリソースを収集できますが、同様に、不適切な使用によって重大な問題が発生する可能性もあります。
したがって、Web クローラーを使用する場合は、「正しい方法で盗む」必要があります。
Web クローラーは主に次の 3 つのカテゴリに分類されます:
1. このタイプの Web クローラーの場合、主にリクエスト ライブラリを使用して実装できます。 Web ページのクロールに使用されます
2. このタイプの Web クローラーでは、主に Web サイトまたは一連の Web サイトをクロールするために使用されます。 、検索エンジン、現時点ではクロール速度が重要です。カスタマイズされた開発が必要です。これは主にネットワーク全体をクロールするために使用され、通常は Baidu、Google 検索などのネットワーク全体の検索エンジンを構築します。
これら 3 つのタイプのうち、最初のタイプが最も一般的で、そのほとんどは Web ページをクロールする小規模なクローラーです。
ウェブクローラーにも反対意見がたくさんあります。 Web クローラーは常にサーバーにリクエストを送信するため、サーバーのパフォーマンスに影響を与え、サーバーへの嫌がらせを引き起こし、Web サイト管理者の作業負荷が増加するからです。
サーバーへの嫌がらせに加えて、Web クローラーは法的リスクを引き起こす可能性もあります。サーバー上のデータには財産権があるため、営利目的に使用すると法的リスクが生じます。 さらに、Web クローラーもユーザーのプライバシー漏洩を引き起こす可能性があります。
まとめると、Web クローラーのリスクは主に次の 3 点に起因します:
実際には、一部の大規模 Web サイトでは Web クローラーに関連する制限が課されており、Web クローラーはインターネット全体で標準化可能な機能ともみなされています。
一般的なサーバーの場合、次の 2 つの方法で Web クローラーを制限できます。 1. Web サイトの所有者が特定の技術的能力を持っている場合は、ソース レビューを通じて Web クローラーを制限できます。
ソースレビューは通常、User-Agent の判断によって制限されます。この記事では 2 番目のタイプに焦点を当てます。
2. ロボット プロトコルを使用して、Web クローラーに遵守する必要があるルール、どのルールがクロール可能でどのルールが許可されないかを伝え、すべてのクローラーがこのプロトコルに従うように要求します。
2 番目の方法は、ロボット協定は推奨ですが、拘束力はありませんが、法的なリスクが生じる可能性があります。これら 2 つの方法を通じて、Web クローラーに対する効果的な道徳的および技術的制限がインターネット上に形成されます。
それでは、
Web クローラーを作成するときは、Web サイトの管理者による Web サイトのリソースの管理を尊重する必要があります。インターネットでは、一部の Web サイトには Robots プロトコルがなく、すべてのデータをクロールできますが、主流の Web サイトの大部分は、関連する制限付きで Robots プロトコルをサポートしています。以下では、基本的な構文について詳しく説明します。ロボットプロトコルの。
ロボットプロトコル (ロボット除外標準、Web クローラー除外標準): 機能: Web サイトは、どのページがクロールできるか、どのページがクロールできないかを Web クローラーに伝えます。
フォーム: Web サイトのルート ディレクトリにある robots.txt ファイル。
ロボットプロトコルの基本構文: * はすべてを表し、/ はルートディレクトリを表します。
たとえば、PMCAFF のロボット プロトコル:
ユーザー エージェント: *Disallow: /article/edit
Disallow: /discuss/write
Disallow: /discuss/edit
1 行目の
User-agent:* は、すべての Web クローラーが次のプロトコルに準拠する必要があることを意味します。 2 行目の
Disallow: /article/edit は、すべての Web クローラーが記事/編集にアクセスできないことを意味します。以下の内容は他と同様です。
JD.com のロボット プロトコルを観察すると、User-agent: EtaoSpider、Disallow: / があることがわかります。ここで、EtaoSpider は悪意のあるクローラーであり、JD.com のリソースをクロールすることは許可されていません。 EnUser-agent:*
Disallow: /?*Disallow: /pop/*.html
disallow: /pinpai/ *.html?*
User-agent: EtaoSpider
不許可: /
ユーザーエージェント: HuihuiSpider
不許可: /
ユーザーエージェント: GwdangSpider
不許可: /
ユーザーエージェント: WochachaSpider
許可しない: /
ロボット プロトコルを使用すると、Web サイトのコンテンツを規制し、どの Web クローラーがクロール可能でどのクローラーが許可されないかをすべての Web クローラーに通知できます。
ロボット プロトコルはルート ディレクトリに存在することに注意することが重要です。そのため、クロールするときはさらに注意する必要があります。
以上が優れた Web クローラーを実行するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。