アマゾンとe-bayの商品価格の比較がわかるウェブサイトを作りたい。これらのうちどれがよりよく機能し、なぜですか?私は多少BeautifulSoupに精通していますが、Scrapyクローラーについてはそれほど詳しくありません。
アマゾンとe-bayの商品価格の比較がわかるウェブサイトを作りたい。これらのうちどれがよりよく機能し、なぜですか?私は多少BeautifulSoupに精通していますが、Scrapyクローラーについてはそれほど詳しくありません。
回答:
ScrapyはWebスパイダーまたはWebスクレイパーフレームワークです。Scrapyにクロールを開始するルートURLを指定すると、クロールしてフェッチするURLの数(数)に制約を指定できます。ウェブスクレイピングやクロールのための完全なフレームワークです。
ながら
BeautifulSoupは解析ライブラリであり、URLからコンテンツをフェッチするのに非常に優れており、手間をかけずにコンテンツの特定の部分を解析できます。指定したURLのコンテンツのみを取得して停止します。特定の条件で無限ループ内に手動で配置しない限り、クロールしません。
簡単に言うと、Beautiful Soupを使用すると、Scrapyに似たものを作成できます。美しいスープはライブラリであり、スクレイピーは完全なフレームワークです。
私は両方とも良いと思います...両方を使用するプロジェクトを今やっています。最初に私は、scrapyを使用してすべてのページをスクラップし、パイプラインを使用してmongodbコレクションに保存します。また、ページに存在する画像をダウンロードします。その後、BeautifulSoup4を使用して、属性値を変更して特別なタグを取得する必要があるpos-processingを作成します。
どのページの製品が必要かわからない場合は、クローラーを使用して明示的なforループを作成せずにすべてのamazon / ebay Webサイトを実行して製品を探すことができるため、優れたツールは扱いにくくなります。
使用方法は非常に簡単です。
どちらもデータの解析に使用しています。
スクレイピー:
BeautifulSoup:
Beautiful Soupは、HTMLおよびXMLファイルからデータを引き出すためのPythonライブラリです。
このパッケージを使用して、Javaスクリプトからデータを取得したり、ページを動的にロードしたりできます。
BeautifulSoupによるスクレイピーは、静的および動的なコンテンツをスクレイピングするために使用できる最高のコンボの1つです。
私が行う方法は、スクレイピーではなくeBay / Amazon APIを使用し、BeautifulSoupを使用して結果を解析することです。
APIを使用すると、スクレイピークローラーから取得したものと同じデータを公式に取得できます。IDを隠したり、プロキシをいじったりする必要はありません。
Scrapy これは Webをスクレイピングするフレームワークであり、クロールロジックのみに集中できるように、スクレイピングを簡単にする多数のグッズが付属しています。スクレイピーが私たちの世話をする私の好きなもののいくつかを以下に示します。
プロキシ、ユーザーエージェント、ヘッダーなどの設定:スクレイピーを使用すると、プロキシやその他のヘッダーを動的に設定およびローテーションできます。
アイテムパイプライン:パイプラインを使用すると、抽出後にデータを処理できます。たとえば、MySQLサーバーにデータをプッシュするようにパイプラインを構成できます。
クッキー:scrapyは自動的にクッキーを処理します。
等
TLDR:スクレイピーは、大規模なクロールを構築するために必要なすべての機能を提供するフレームワークです。Webのクロールの複雑さを隠すさまざまな機能を提供します。セットアップの負担を気にすることなく、Webクローラーの作成を開始できます。
Beautiful soup Beautiful Soupは、 HTMLおよびXMLドキュメントを解析するためのPythonパッケージです。したがって、美しいスープを使用すると、ダウンロード済みのWebページを解析できます。BS4は非常に人気があり、古いです。スクレイピーとは異なり、クローラーを作るためだけに美しいスープを使用することはできません。bs4でクローラーを作成するには、requests、urllibなどの他のライブラリーが必要です。繰り返しますが、これは、クロールされるURLのリストを管理する、クロールする、Cookieを処理する、プロキシを管理する、エラーを処理する、データをCSV、JSON、XMLなどにプッシュする独自の関数を作成する必要があることを意味します。マルチプロセッシングのような他のライブラリを使用する必要があるよりも。
総括する。
Scrapyは豊富なフレームワークであり、手間をかけずにクローラーの作成を開始できます。
美しいスープは、ウェブページの解析に使用できるライブラリです。単独でウェブをこすることはできません。
あなたは間違いなくあなたのamazonとe-bay製品の価格比較ウェブサイトにscrapyを使うべきです。URLのデータベースを構築し、毎日クローラーを実行して(クロールジョブ、クロールをスケジュールするためのセロリ)、データベースの価格を更新できます。これにより、Webサイトは常にデータベースからプルされ、クローラーとデータベースは個別のコンポーネントとして機能します。
BeautifulSoupは、Webページから情報を抽出できるライブラリです。
一方、Scrapyはフレームワークであり、データを保存するためのパイプラインなど、スクレイピングプロジェクトで必要な上記のことやその他の多くのことを実行します。
このブログをチェックして、Scrapyを使い始めることができ ますhttps://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/