検索エンジンにおけるウェブクローラーの設計分析

検索エンジンにおけるウェブクローラーの設計分析

簡単に言えば、Web クローラーは、使用する「オフライン読み取り」ツールに似ています。オフラインであっても、インターネットに接続する必要があります。そうしないと、どうやってダウンロードできるのでしょうか?それで、違いは何でしょうか?

1) Web クローラーは高度に構成可能です。

2) ウェブクローラーはキャプチャしたウェブページ内のリンクを解析できる

3) Webクローラーはシンプルなストレージ構成を持つ

4) ウェブクローラーはウェブページの更新に基づいたインテリジェントな分析機能を備えている

5) ウェブクローラーは非常に効率的である

では、実際には要件である機能に基づいて、クローラーをどのように設計すればよいのでしょうか?どのステップに重点を置くべきでしょうか?

1) URLトラバーサルと記録

Larbin はこれをうまくやっています。実際、URL をトラバースするのは非常に簡単です。たとえば、次のようになります。

cat [結果] tr \" \\n gawk '{print $2}' pcregrep ^http://

URLのリストを取得できます。

2) マルチプロセスとマルチスレッド

それぞれに利点があります。現在、booso.com などの一般的な PC は、1 日に 5G のデータを簡単にクロールできます。約20万のウェブページ。

3) 時間更新制御

最も愚かなことは、重量を更新する時間がなく、一気に登り、戻ってもう一度登ることです。

通常、次のクロールのデータは前回のクロールと比較されます。5 回連続して変化がない場合は、この Web ページをクロールする時間間隔が 2 倍になります。

5 回連続のクロール中に Web ページが更新されると、クロール時間は元の時間の半分に短縮されます。

効率性が成功の鍵の 1 つであることに注意してください。

4) 這う深さはどのくらいですか?

それは状況によります。非常に強力で、Web クローラーを実行するサーバーが何万台もある場合は、この点をスキップすることをお勧めします。

私のように Web クロール用のサーバーが 1 つしかない場合は、次の統計を知っておく必要があります。

ウェブページの深さ: ウェブページの数: ウェブページの重要度

0 : 1 : : 10

1:20::8

2: :600: :5

3: :2000: :2

4上記:6000:一般的には計算できない

まあ、レベル 3 まで登れば十分です。さらに深く進むと、データ量が 3/4 倍になり、重要度が大幅に低下します。これを「ドラゴンの種を植えてノミを収穫する」といいます。

5) クローラーは通常、互いのウェブページを直接クロールしません。通常はプロキシを経由してクロールします。このプロキシには、負荷を軽減する機能があります。相手のウェブページが更新されていない場合は、ヘッダータグを取得するだけで十分です。一度にすべてを送信する必要がないため、ネットワーク帯域幅を大幅に節約できます。

Apache Web サーバーに記録された 304 は通常キャッシュされます。

6) 時間があるときにrobots.txtを確認してください

7) ストレージ構造。

これは意見の問題です。Google は gfs システムを使用しています。サーバーが 7 台または 8 台ある場合は、NFS システムを使用することをお勧めします。サーバーが 70 台または 80 台ある場合は、afs システムを使用することをお勧めします。サーバーが 1 台しかない場合は、どちらでも問題ありません。

以下は、私が作成したニュース検索エンジンがデータを保存する方法のコード スニペットです。

NAME=`echo $URL perl -p -e 's/([^\w\-\.\@])/$1 eq "\n" ? "\n":sprintf("%%%2.2x",ord($1))/eg'`mkdir -p $AUTHOR

newscrawl.pl$URL--user-agent="news.booso.com ( http://booso.com)"-outfile=$AUTHOR/$NAME


次の文に特に注意してください。

1. 通常、次のクロールのデータは前回のクロールと比較されます。5 回連続して変更がない場合は、Web ページをクロールする時間間隔が 2 倍になります。5 回連続のクロール中に Web ページが更新された場合は、設定されたクロール時間が元の時間の 1/2 に短縮されます。

ウェブページの更新頻度は、検索エンジンのスパイダーによるウェブサイトのクロールの度合いに重大な影響を及ぼします。ウェブページがクロールされる回数が多いほど、含まれる可能性が高くなり、含まれるページの数も増えます。インクルージョンは SEO の最も基本的な部分です。

原題: 検索エンジンにおけるウェブクローラーの設計分析

キーワード: ネットワーク

<<:  Googleがユーザーに注意喚起:リンクの交換はPRインデックスを下げる

>>:  ウェブサイトのPR価値とページのPR価値について簡単に説明します

推薦する

【AWSコミュニティディスカッション活動まとめ4】機械学習のプロセスにおける迂回路について語る

[51CTO.com からのオリジナル記事] 機械学習は人工知能の中核であり、コンピューターをインテ...

支部を指揮せよ!従来の業界ではOpenStackを使用して業界クラウドを構築しています

[51CTO.com からのオリジナル記事] 2016 OpenStack Barcelona Su...

自動車B2Cショッピングモールサイトの4つの収益モデルの分析

自動車は家庭にとって生活必需品となり、それを支える設備も販売のホットスポットとなっています。自動車B...

SEO基準を満たすウェブサイトのホームページのタイトルの書き方

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますSEO 基...

Tencent Cloud は、わずか 7 日間でデータ ウェアハウスを構築できる新しいアジャイル データ ウェアハウス製品をリリースしました。

3月14日、Tencent Cloudはデータモデルとデータ探索という新製品を正式にリリースしました...

Oauth2.0 をサポートするメールボックスがより安全なのはなぜですか?

以前「Gmail Bar」フォーラムで盛んに議論されたGmail対応メールクライアントYoMailは...

YourLastHost - OpenVZ+KVMの特別価格、ご検討くださいx

yourlasthost は、特別価格で 2 つの OpenVZ 仮想 VPS をリリースします。価...

検索エンジン: リンク先のウェブサイトへのリンクの関連性を判断する方法

ウェブサイトがどのような業界のものであっても、市場を独占している類似または関連ウェブサイトが常に存在...

Google、スマートフォン検索ランキングを変更

Googleの公式ブログによると、スマートフォンユーザーはインターネットユーザーの増加が最も著しい市...

効果的なキーワードの選び方

ウェブサイトを構築した多くの企業や個人のウェブマスターにとって、ウェブサイトに効果的なキーワードを選...

リンク交換には詐欺がどれくらいあるのでしょうか?もっと注意することが大切です

友好的なリンクの交換に関しては、誰もが言いたいことはたくさんあるはずです。「空の」リンクを交換する場...

ウクライナのライファイゼン銀行のCTOが戦時中のクラウド移行について語る

オーストリアのライファイゼン銀行インターナショナルの子会社であるライファイゼン銀行ウクライナは、ロシ...

sharktech - $99/2*L5520/24g メモリ/2*2T ハードディスク/5IP/40G 高防御

米国で有名な高防御データセンターであるSharktechは、ロサンゼルスデータセンターにある特別価格...

Kafka ベンダー向けのよくある面接の質問: 高パフォーマンスと高スループットを確保しながら高可用性を確保する

Kafka のメッセージ送信保証メカニズムは非常に直感的です。プロデューサーがブローカーにメッセージ...

分散システム調整カーネル - Zookeeper

[[402864]]この記事はWeChatの公開アカウント「Mu Niao Za Ji」から転載した...