ホームページ  >  記事  >  バックエンド開発  >  優れた Web クローラーを実行するにはどうすればよいでしょうか?

優れた Web クローラーを実行するにはどうすればよいでしょうか?

PHP中文网
PHP中文网オリジナル
2017-06-20 16:23:321676ブラウズ

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 クローラーに関連する制限が課されており、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。