2016-07-29 23 views
0

私は少し治療に慣れていて、ある時点で立ち往生しています。私はそれが閉じられるときにクモを再起動したい。Scrapy複数のスパイダーを後でクロールする

私がここで実装しようとしているのは、データベースからURLを取得しているということです。「scie crawl xyz」リクエストを送信するたびに、start_requestは1つのURL [次のURL]を取得します。データベースからの前の要求で渡されたものとは異なります。

データベースに4つのURLがある場合は問題があります。「scrapy crawl xyz」を4回実行する必要がありますが、これを避けたいと思い、現在の「spider_closed」が取得されると「scrapy crawl xyz」を起動しようとしていますスパイダーの終わりに呼ばれた。助けてください

答えて

0

1つのスクリプトで複数のスパイダーをクロールしたい場合は、おそらくスクリプトからスパイダーを実行したいと考えています。私は私の質問に、問題を発見した

process.crawl(MySpider) 
process.start() 
process.crawl(MySpider2) 
process.start() 
process.crawl(MySpider3) 
process.start() 
+0

おかげGranitosaurusをやったが、私は私がここにされてしようとしていますどのような、複数のクモを実行したくありません1回目のURLからデータを削ったときに同じスパイダーを再度実行する – vrnair

+0

その場合、処理に追加する前にMySpider.start_urls属性を更新するだけで済みます。ところで、スパイダーを起動するときにstart_requestsに複数のURLを渡すのはなぜですか? – Granitosaurus

+0

複数のURLを一緒に渡している間、私は接続ピアと "twisted.python.failure.failure class 'openssl.ssl.error'"からリセットを取得していますが、同時にそれらのリンクをクロールしているときに同時にクロールしています何もエラーなしで – vrnair

0

こんにちはみんな:ドキュメントで提供された例を拡張するにはofficial docummenation on how to do that

を参照してください、あなたのようなものになります。私は同じscrapyコマンドを同時に実行したかったのです。だから、私がやったことは、リナックスで自分のコマンドを作成し、それから私の治療のクロールxyzをループに入れて機能させることです。

!/ binに/ bashの

iに対するseq 1 3 で scrapyクロールtaleoを行う

関連する問題