多くの人が見て爬虫類を使用しますが、少数の人々は、これらの概念を爬虫類方法を知っています!

プログラマーとして、私たちは「爬虫類」という単語には見知らぬ人の周りに、多くの場合、誰かがそれを理解していない人の目には、単語を言及していないだろうと信じて、このAを見つけることは非常にハイエンドの技術は非常に神秘的です。私たちはその真の顔を探索し、その謎を開いた爬虫類の家族にあなたを取るよ、心配しないでください。

爬虫類は何ですか

(また、Webスパイダー、ウェブロボットとして知られている)Webクローラーは、ワールド・ワイド・ウェブのプログラムやスクリプトで自動的にグラブ情報、フォロー一定のルールのようなものです。他のあまり頻繁に使用される名前はアリ、自動インデックス作成、シミュレーションプログラムやワームが含まれます。

もっと単純に、我々は良いラインの規則に従って、このクモのウェブデザインのターゲットノードを見つけるために、インターネット上で大きなクモの巣、複数のノードの蜘蛛の巣のために、各サイトのリソース、クモのような爬虫類を作り、 、リソースへのアクセス。

なぜ爬虫類

なぜ我々は、爬虫類、それを使用する必要がありますか?

私たちは、シナリオを想像することができます:あなたは本当にマイクロブログセレブ、魅了彼のマイクロブログを見て、あなたは彼にダウンすべての単語をマイクロブログや有名人の引用符の中に作られた上で数十年の抜粋をしたいです。今回はどのようにそれを行うのですか?手動でCtrl + CとCtrl + Vにいますか?このアプローチは、実際にあなたがそれを行う回の我々がそうすることができる少量のデータが、データ数千本当ですか?

のは、別のシナリオを想像してみましょう:あなたはニュース集約サイト、最新のニュースのためのいくつかのニュースサイトへの定期的な日のための必要性を行う必要があり、我々はRSSフィードと呼ばれます。あなたは定期的にそれをコピーするために、様々なニュースサイトを購読するのですか?私はそれを自分で行うには、個人のための非常に困難な怖いです。

上記の2つのシナリオでは、クローラー技術を使用して、簡単に問題を解決することができます。だから、私たちはメインのクローラ技術は、私たちが物事の2種類を行うことができていることがわかります。一つは、データ収集のための需要があり、主に特定のルールの下で大量のデータのための情報を得るために、他のは、主に同様の情報で使用される自動化のニーズであり、アスペクト重合検索。

爬虫類の分類

ビューオブジェクトの観点から、クローリングクローラおよびクローラは、一般的なカテゴリに分けることができクローラを重視。

収集データに主に大規模なWeb検索エンジンやサービスプロバイダー向けに、Web全体に拡大シードURLの一部からオブジェクトをクロールもネットワーク全体のクローラ(スケーラブルなウェブクローラ)として知られている一般的なWebクローラー、、。グレート範囲と、そのようなクロールのWebクローラの数は、高いクリープ速度やストレージ容量の要件のために、ページの要件をクロールするためには、比較的低いです。例えば、私たちの共通の百度とGoogle検索。私たちは、キーワードを入力して、彼らはネットワーク全体からページに関連するキーワードを探して、特定の順序で私たちに提示します。

フォーカスクローラ(クローラを重視)、選択的にこれらの事前定義されたページのトピックのWebクローラーをクロールするための手段。そして、一般的なWebクローラーは、特定のページをクロールするだけでフォーカス爬虫類に比べて、幅をクロールすることははるかに小さくなります。例えば、我々はファンドのデータに東富のネットワークをクロールする必要がある、我々は唯一の行にクロールページdongfangcaifuwangのためのルールを開発する必要があります。

もっと単純に、一般的な爬虫類は、特定の食品を見つける必要クモに似ていますが、それはクモの巣を持っているノードを認識しない、それが唯一のノードから探し始めることができるように、ノードは、食品がある場合は、見に会いますノードが特定の食べ物を示すノードを持っている場合は、それを次のノードを見つけるために、指示に従って、食べ物を取得します。焦点はクモのウェブクローラは、食べ物を持っているノードを知っている、それだけで食べ物を得ることができるようになり、そのノードに到達するためにあなたのルートを計画する必要があります。

Webブラウジングプロセス

ユーザーは、我々はそのようなhttp://image.baidu.com/などの素敵な写真の多くを見るかもしれないが、我々はいくつかの写真とBaiduの検索ボックスが表示されます、その過程でこのような絵をウェブをブラウズ:

baidu_pic_index

ユーザーがURLを入力した後、このプロセスは、DNSサーバの後に、サーバホストを見つけ、実際にユーザーのブラウザのHTML、JS、CSSおよび他の文書に送信された解像度、後にサーバ、サーバに要求を送信し、ブラウザを解析し、ユーザーができるようになります私たちは、写真のすべての種類を参照してください。

そのため、ユーザーのページを見ることができますが、基本的にHTMLコードで構成され、爬虫類への登山は、達成するためのHTMLコードを解析し、フィルタリングすることによって、コンテンツ、写真へのアクセス、テキストおよびその他のリソースです。

URLを意味

私たちはURLのユニフォームリソースロケータは、場所やアクセス方法から、インターネット上で利用可能なリソースの一種であるシンプルで言うことであるURL、またはユニフォームリソースロケータは、標準は、インターネット上のリソースのアドレスであると述べました。インターネット上の各ファイルには、情報がファイルの場所とブラウザがそれに対処する方法でなければならないことを示している含まれている固有のURLを持っています。

URLの形式は、3つの部分から構成されています。

  • 最初の部分は、プロトコル(またはサービスモードと呼ぶ)です。
  • (時々、ポート番号を含む)リソースホストIPアドレスの第二の部分があります。
  • 第三部では、そのようなディレクトリやファイル名などのホストアドレスの特定のリソースを、です。

爬虫類の目標は取得リソースにあり、そしてリソースがホストに保存されているとして、それゆえ、それはデータへのクローラのアクセス、それを正確に理解するための基本的な基礎であり、彼らはデータを得ることができる前にURLをフェッチするとき爬虫類を登るという目標を持っている必要があります研究爬虫類への大きな助けとの意味。

爬虫類プロセス

以下のように私たちの次の章では、集中クローラに焦点を当てて、クローラのワークフローに焦点を当て:

spider_flow

  • まず、我々はシードURLキューを持っている必要があり、最初のノードへのキューURLの対応は、我々はクロール、クロールスパイダーは、大規模なネットワークの最初のステップです。
  • キュー各URL要求、我々は通常、HTMLなどのコンテンツに応じて、応答内容を取得します。私たちのターゲットURL内の応答内容場合は、URLがキューに参加抽出しました。
  • 私たちに必要なデータを抽出し、応答内容を解析します。
  • データストレージは、我々はデータベースファイルにデータを保存することができます。

プロセスの観点から爬虫類は、我々は爬虫類を学ぶための学習の重要なステップと考えることができるはずです。Webブラウザは、リソースのホストを取得するために、URLを要求したようにまず、私たちが必要とする、そして私たちの研究の焦点リクエストメソッドやコンテンツへの適切なアクセスです。私たちは私たちに貴重なデータを得るために、我々は決議の内容に対応するために必要なリソースを入手し、分析的なアプローチがあります(つまり、URLリクエストの応答内容を取得した後、ある)後は、研究の焦点です。その後、我々は、データを取得、その後、データを格納するために必要な、およびデータ保存方法も非常に重要です。

私たちは、クローラ技術を学ぶので、実際には、のように要約することができ、要求パース店舗三つの基本的な質問。これらの3つの問題に対応するマスターソリューションは、爬虫類でも技術を習得します。爬虫類での学習の過程で誰もが、打ち上げこれらの3つの問題に焦点を当てるが、それは迂回しません。

对Python感兴趣或者是正在学习的小伙伴,可以加入我们的Python学习扣qun:784758214,从0基础的python脚本到web开发、爬虫、django、数据挖掘数据分析等,0基础到项目实战的资料都有整理。送给每一位python的小伙伴!每晚分享一些学习的方法和需要注意的小细节,学习路线规划,利用编程赚外快。点击加入我们的 python学习圈

总结

本节给大家介绍了爬虫的基本概念,让大家对爬虫有一个大致的了解,以便后续章节的学习。

发布了81 篇原创文章 · 获赞 3 · 访问量 9439

おすすめ

転載: blog.csdn.net/NNNJ9355/article/details/104011515