Amazonとe-bay製品の価格の比較を表示するウェブサイトを作りたいです。これらのどれがよりよく機能しますか、なぜですか? BeautifulSoupにはある程度精通していますが、Scrapy crawlerにはあまり慣れていません。
ScrapyはWebスパイダーまたはWebスクレーパーフレームワークです、Scrapyを指定しますクロールを開始するルートURLを指定すると、クロールおよびフェッチするURLの数(数)などの制約を指定できます。 Webスクレイピングまたはcrawlingの完全なフレームワークです。
ながら
BeautifulSoupは解析ライブラリで、これもかなり良いフェッチを行いますURLのコンテンツを使用して、手間をかけずに特定の部分を解析できます。指定したURLのコンテンツのみを取得して停止します。特定の条件で無限ループ内に手動で配置しない限り、クロールしません。
簡単に言えば、Beautiful Soupを使用すると、Scrapyに似たものを作成できます。 Beautiful Soupはlibraryですが、Scrapyはcompleteフレームワークです。
ソース: http://www.quora.com/Python-programming-language-1/How-is-BeautifulSoup-different-from-Scrapy
両方とも良いと思います...両方を使用するプロジェクトを今すぐやっています。まず、scrapyを使用してすべてのページをスクラップし、パイプラインを使用してmongodbコレクションに保存し、ページに存在するイメージもダウンロードします。その後、BeautifulSoup4を使用して、属性値を変更し、特別なタグを取得する必要があるpos処理を行います。
どのページの製品が必要なのかわからない場合、クローラーを使用してすべてのAmazon/ebayウェブサイトを実行し、明示的なforループを作成せずに製品を検索できるため、良いツールはスクレイプになります。
スクレイピーなドキュメントをご覧ください。使い方はとても簡単です。
私が行う方法は、スクレイピーではなくeBay/Amazon APIを使用し、BeautifulSoupを使用して結果を解析することです。
APIを使用すると、スクレイピークローラーから取得したデータと同じデータを取得する公式の方法が提供され、IDの隠蔽やプロキシの混乱などを心配する必要がありません。
どちらもデータの解析に使用しています。
スクレイピー:
BeautifulSoup:
Beautiful Soupは、HTMLおよびXMLファイルからデータを引き出すためのPythonライブラリーです。
このパッケージを使用して、Javaスクリプトからデータを取得したり、ページを動的にロードしたりできます。
BeautifulSoupでのスクレイピーは、静的および動的コンテンツをスクレイピングするために使用できる最高のコンボの1つです。
スクレイピーこれは、ウェブスクレイピングフレームワークですこれには、クロールロジックのみに集中できるように、スクレイピングを容易にするたくさんのグッズが付属しています。スクレイピーが面倒をみてくれる私のお気に入りのいくつかを以下に示します。
プロキシ、ユーザーエージェント、ヘッダーなどの設定:スクレイピーにより、プロキシおよびその他のヘッダーを動的に設定および回転できます。
アイテムパイプライン :パイプラインを使用すると、抽出後にデータを処理できます。たとえば、データをmysqlサーバーにプッシュするようにパイプラインを構成できます。
クッキー:スクレイピーは自動的にクッキーを処理します。
等.
TLDR:スクレイピーは、大規模なクロールを構築するために必要なすべてを提供するフレームワークです。 Webのクロールの複雑さを隠すさまざまな機能を提供します。セットアップの負担を心配することなく、Webクローラーの作成を開始できます。
Beautiful SoupBeautiful Soupは、解析のためのPythonパッケージですHTMLおよびXMLドキュメント。そのため、Beautiful Soupを使用すると、ダウンロード済みのWebページを解析できます。 BS4は非常に人気があり、古いものです。スクレイピーとは異なり、クローラーを作るためだけに美しいスープを使用することはできません。 bs4でクローラーを作成するには、requests、urllibなどの他のライブラリが必要です。繰り返しますが、これは、クロールするURLのリストを管理する、クロールする、Cookieを処理する、プロキシを管理する、エラーを処理する、CSV、JSON、XMLなどにデータをプッシュする独自の関数を作成する必要があることを意味します multiprocessing などの他のライブラリを使用する必要があります。
総括する。
Scrapyは豊富なフレームワークであり、簡単にクローラーの作成を開始できます。
美しいスープは、Webページの解析に使用できるライブラリです。 Webをこするために単独で使用することはできません。
Amazonとe-bay製品の価格比較Webサイトには、間違いなくスクレイピーを使用する必要があります。 URLのデータベースを構築し、毎日クローラーを実行して(cronジョブ、クロールをスケジュールするためのCelery)、データベースの価格を更新することができます。これにより、Webサイトは常にデータベースとクローラーから取得し、データベースは個別のコンポーネントとして機能します。
違いは多く、ツール/テクノロジーの選択は個々のニーズに依存します。
主な違いはほとんどありません。
スクレイピーを使用すると、大量のコードを保存して構造化プログラミングを開始できます。Scapyの事前に作成されたメソッドが気に入らない場合は、BeautifulSoupをスクレイピーメソッドの代わりに使用できます。大きなプロジェクトには両方の利点があります。