2013-06-19 10 views
13

現在作業中のアプリケーションでwebcrawlingを使用する予定です。私はNutchについていくつかの調査を行い、それを使って予備テストを行った。しかし、その後私は虐待に出くわしました。しかし、私はいくつかの予備的な研究を行い、治療についてのドキュメントを調べたところ、私はそれが構造化されたデータだけをキャプチャできることを発見しました(データをキャプチャしたいdiv名を与えなければなりません)。私が開発しているアプリケーションのバックエンドはPythonに基づいており、私はscrapyがPythonに基づいていると理解しています。Scrapy対Nutch

私の必要条件は、1000以上の異なるウェブページからデータを取得し、その情報に関連するキーワードを検索することです。治療が同じ要件を満たす方法はありますか。

1)可能であれば、どのように行うことができるかの例を挙げることができますか?

2)または、Nutchの+ Solrには、あなたのケースで完璧に動作します私の要件

+3

div nameはScrapyの要件ではなく、必要なものをキャプチャできます。 –

答えて

17

Scrapyに最適です。

あなたはdivタグに名前を付ける必要はありません - あなたが欲しいものを得ることができます。

Scrapyは、データを抽出するための独自のメカニズムが付属しています。 は、XPath 式で指定されたHTMLドキュメントの特定の部分を「選択」するため、XPathセレクタ(または単に「セレクタ」)と呼ばれる です。

さらに、BeautifulSouplxmlを使用して、ページのコンテンツからデータを抽出することができます。

さらに、scrapyはツイストに基づいており、完全に非同期で高速です。

ここでは、スパイダースパイダーの例がたくさんあります。タグの質問をご覧ください。より具体的な質問がある場合は、質問してください。

希望に役立ちます。

+0

ありがとうございます。私は同じことについてより良い研究をしなければならないと思う。 – Vidhu

+7

ちょうど[SolrとのScrapy](http://searchhub.org/2013/06/13/indexing-web-sites-in-solr-with-python/)を使用した記事が最近ありました。 –

-7

多くのタスクでは、痛みが肥大化し、過剰なものになります。驚くほど遅い。 そのコードは壊れやすく、再互換性を破る絶え間ない変更があります。 Scrapyを使用する場合は、Scrapyの内部構造を理解するために多くの時間を費やします。

+6

こんにちはフランコ、私は痛みが遅いという声明には同意しません。私は約2.5時間以内に異なるサイトから約25,000ページをクロールすることができました。私はそのクロールレートに満足しています。初心者では少し難しいかもしれませんが、もっと使い始めたら...あなたはそれを好きです。 – Vidhu

+2

私はscrapでいくつかのクローラを開発しました。私はgolang、PHP、C、Javaクローラに対するいくつかのベンチマークを行いました同じ仕事。 Pythonソリューションは、lxmlとScrapyを使用してCにほぼ近く、他は遅くなりました。私の意見で改善される唯一の事はミドルウェアの統合です。私はDjangoのモデルも問題なくTorに統合しました。 –

+1

私は「不変の変化」の部分に同意しません。私は、治療法が学ぶのが難しいとは反対します。これとは逆に、私は治療が非常に簡単であると言います。ドキュメントも非常に鮮明です。 –