[2022] Python3クローラーチュートリアル-クローラーとは何ですか?

つまり、クローラーはWebサイトの情報をすばやく抽出して保存するのに役立ちます。

インターネットを大規模なWebと比較できます。クローラー(つまり、Webクローラー)は、Web上をクロールするスパイダーです。ネットワークのノードをWebページと比較すると、クローラーはそれをクロールします。これは、ページにアクセスするのと同じであり、Webページ上の情報を抽出できます。ノード間の接続をWebページとWebページ間のリンク関係と比較できるため、スパイダーはノードを通過した後、次のノードへのノード接続に沿ってクロールを継続できます。つまり、取得を継続できます。 Webページを介した後続のWebページ。これにより、Web全体のノードをスパイダーでクロールでき、Webサイトのデータをクロールできます。

1.爬虫類の用途は何ですか?

上記の言葉を通して、爬虫類が何をするのかを予備的に理解しているかもしれませんが、一般的に私たちは一つのことを学ぶ必要があります。

実際、爬虫類の方がはるかに便利です。

  • たとえば、最近の主要なWebサイトのヘッドラインで話題のトピックを調べたい場合は、クローラーを使用してこれらのWebサイトの人気のあるニュースをクロールし、タイトルやコンテンツなどを分析して話題を知ることができます。キーワード。
  • たとえば、天気、金融、スポーツ、企業などの情報を整理して分析したいのですが、これらのコンテンツはさまざまなWebサイトで配布されているため、クローラーを使用してこれらのWebサイトのデータをクロールし、データに整理することができます。欲しいと保存して、分析することができます。
  • たとえば、インターネット上で風景、食べ物、美しさ、またはいくつかの情報や記事などの美しい写真をたくさん見て、それらをコンピューターに保存したいのですが、それは明らかに非常に時間と手間がかかります。 -クリックして保存、コピー、貼り付けすると、クローラーを使用して保存できます。これらの画像やリソースはすばやくクロールダウンされるため、時間と労力を大幅に節約できます。

また、スカルパー強盗、自助強盗教室、ウェブサイトランキングなど、クローラーとは切り離せない技術も数多くあり、クローラーの有用性は非常に高いと言えます。誰もがクローラーを注文できるはずです。

さらに、クローラーを学ぶことは、Pythonを学ぶのにも役立ちます。クローラーを学ぶために、私の最初の推奨事項はPython言語です。Pythonに慣れていない場合でも、クローラーはPythonを使い始める方法として学習するのに非常に適しています。クローラーを学習している間、Pythonを学ぶことができます。同時に。

それだけでなく、クローラー技術と他の分野はほとんど交差しています。たとえば、フロントエンドとバックエンドのWeb開発、データベース、データ分析、人工知能、運用と保守、セキュリティ、その他の分野はすべてクローラーに関連しているため、クローラーの学習と同等です他の分野への一歩も踏み出しましたし、将来他の分野に参入したい場合は、より簡単に接続できます。Pythonクローラーは、コンピューターを学習するための優れた入門書の1つです。

2.クローラープロセス

簡単に言うと、クローラーは、以下に概説するように、Webページをフェッチし、情報を抽出して保存する自動プログラムです。

(1)Webページを取得する

クローラーが最初に行う必要があるのは、Webページを取得することです。これがWebページのソースコードです。ソースコードにはWebページの有用な情報が含まれているため、ソースコードを取得している限り、そこから目的の情報を抽出することができます。

ブラウザでWebページを閲覧すると、ブラウザは実際にこのプロセスをシミュレートします。ブラウザはサーバーにリクエストを1つずつ送信し、返される応答本文はWebページのソースコードであり、次のように解析およびレンダリングされます。ブラウザ。したがって、私たちがやりたいクローラーは実際にはブラウザーに似ています。Webページのソースコードを取得してコンテンツを解析するのは良いことですが、ブラウザーではなくPythonを使用しています。

さっき言ったように、最も重要な部分は、リクエストを作成してサーバーに送信し、次にレスポンスを受信して​​解析することです。では、このプロセスをPythonで実装するにはどうすればよいでしょうか。

Pythonには、urllib、requestsなど、この操作を実現するのに役立つ多くのライブラリが用意されています。これらのライブラリを使用してHTTPリクエスト操作を実装できます。リクエストとレスポンスの両方を、クラスライブラリによって提供されるデータ構造で表すことができます。レスポンスを取得した後は、データ構造の一部、つまり、データ構造のbody一部。 Webページのソースコードを取得して、プログラムを使用してWebページを取得するプロセスを実現できるようにします。

(2)情報を抽出する

Webページのソースコードを取得したら、次のステップはWebページのソースコードを分析し、そこから必要なデータを抽出することです。まず、最も一般的な方法は正規表現抽出を使用することです。これは用途の広い方法ですが、正規表現を作成する場合はより複雑でエラーが発生しやすくなります。

さらに、Webページの構造には特定のルールがあるため、Beautiful Soup、pyquery、lxmlなどのWebページノード属性、CSSセレクター、またはXPathに基づいてWebページ情報を抽出するライブラリもあります。これらのライブラリを使用すると、ノード属性やテキスト値などのWebページ情報を効率的かつ迅速に抽出できます。

提取信息是爬虫非常重要的部分,它可以使杂乱的数据变得条理、清晰,以便我们后续处理和分析数据。

(3) 保存数据

提取信息后,我们一般会将提取到的数据保存到某处以便后续使用。这里保存形式有多种多样,如可以简单保存为 TXT 文本或 JSON 文本,也可以保存到数据库,如 MySQL 和 MongoDB 等,还可保存至远程服务器,如借助 SFTP 进行操作等。

(4) 自动化程序

说到自动化程序,意思是说爬虫可以代替人来完成这些操作。首先,我们手工当然可以提取这些信息,但是当量特别大或者想快速获取大量数据的话,肯定还是要借助程序。爬虫就是代替我们来完成这份爬取工作的自动化程序,它可以在抓取过程中进行各种异常处理、错误重试等操作,确保爬取持续高效地运行。

3. 能爬怎样的数据?

在网页中我们能看到各种各样的信息,最常见的便是常规网页,它们对应着 HTML 代码,而最常抓取的便是 HTML 源代码。

另外,可能有些网页返回的不是 HTML 代码,而是一个 JSON 字符串(其中 API 接口大多采用这样的形式),这种格式的数据方便传输和解析,它们同样可以抓取,而且数据提取更加方便。

此外,我们还可以看到各种二进制数据,如图片、视频和音频等。利用爬虫,我们可以将这些二进制数据抓取下来,然后保存成对应的文件名。

另外,还可以看到各种扩展名的文件,如 CSS、JavaScript 和配置文件等,这些其实也是最普通的文件,只要在浏览器里面可以访问到,就可以将其抓取下来。

上述内容其实都对应各自的 URL,是基于 HTTP 或 HTTPS 协议的,只要是这种数据,爬虫都可以抓取。

4. 总结

本节结束,我们已经对爬虫有了基本的了解,接下来让我们一起接着迈入爬虫学习的世界吧!

更多精彩内容,请关注我的公众号「进击的 Coder」和「崔庆才丨静觅」。

おすすめ

転載: juejin.im/post/7080517915937603621