2

私はここ数日Pythonを学び始めました。Pythonでクローラーを作成する同等の方法を知りたいです。

だからルビーで私は使用します:

  1. nokogiriHTMLをクロールし、cssタグを介してコンテンツを取得するため
  2. Net::HTTPURLからJSONデータをNet::HTTP::Get.new(uri.request_uri).body取得するため

Pythonでこれらに相当するものは何ですか?

4

4 に答える 4

3
  1. lxmlと美しいスープの間では、lxmlはlibxml2に基づいており、xpath / cssをサポートしているため、nokogiriと同等です。
  2. net/httpに相当するのはurllib2です
于 2012-10-15T07:40:33.410 に答える
3

上手

主に、「スクレーパー」/クローラーを、Webサーバーからファイル/データをダウンロードするpython lib / program / functionと、このデータを読み取ってデータを解釈するパーサーに分離する必要があります。私の場合、「オープン」であるがダウンロード/データに対応していない政府情報をスクラップして取得する必要がありました。このプロジェクトでは、scrapy[1]を使用しました。

主に、ロボットがクロール/取得するURLである「starter_urls」を設定し、関数「parser」を使用してこのデータを取得/解析した後です。

解析/取得するには、データの90%がそれになるため、html、lxmlエクストラクタが必要になります。

今あなたの質問に焦点を当てます:

データクロール用

  1. Scrapy
  2. リクエスト[2]
  3. Urllib [3]

データの解析用

  1. Scrapy/lxmlまたはscrapy+other
  2. lxml [4]
  3. 美しいスープ[5]

また、「クロール」と廃棄はWebだけでなく、電子メールにも適用されることを忘れないでください。ここでそれについての別の質問をチェックすることができます[6]

[1] = http://scrapy.org/

[2] -http://docs.python-requests.org/en/latest/

[3] -http://docs.python.org/library/urllib.html

[4] -http://lxml.de/

[5] -http://www.crummy.com/software/BeautifulSoup/

[6] -PythonはOutlookの電子メールメールボックスを読み取り、メッセージを解析します

于 2012-10-15T07:41:32.520 に答える
2

Pythonの事実上の現実世界のHTMLパーサーは美しいスープです。Pythonリクエストライブラリは最近HTTPで人気があります(標準ライブラリには同様の機能がありますが、かなり面倒なAPIがあります)。

スクレイピープロジェクトとザトウムシプロジェクトは、クロールを目的としてカスタムビルドされた実際のクローラーです。

于 2012-10-15T07:29:02.193 に答える
1

また、HTMLを解析する非常に簡単な方法であるBeautifulSoupも使用しています。いくつかのWebページをクロールしていたときは、ElementTreeXMLAPIも使用しました。個人的には、ElementTreeライブラリ(XMLの解析が簡単)が本当に好きです。

于 2012-10-15T07:42:06.903 に答える