私はデータベースから1百万の製品IDを読み込み、WebサイトのIDに基づいて製品の詳細をスクラップするScrapyプロジェクトを持っています。Scrapy Spiderの複数のプロセスを実行する
My Spiderは完全に機能しています。
スパイダーのインスタンスを10個ずつ実行し、それぞれに同じ数のプロダクトIDを割り当てたいとします。
私は、のような
SELECT COUNT(*) FROM product_ids
をそれを行うと、私は私はLIMIT
を渡すことによって、ターミナルでそれを行うことができますアイデアを持って10で割り、その後
上
SELECT * FROM product_ids LIMIT 0, N
などを行うことができます例えばscrapy crawl my_spider scrape=1000
のような治療コマンド。
しかし私はスパイダーでそれをやりたがっているので、スパイダーを1回だけ実行してから、スパイダー内で同じスパイダーの別のプロセスを10回実行します。
私の意見では、この論理は、蜘蛛の蜘蛛の外に留まるべきです。これを行う一般的な方法は、urlsを含むファイルをunix 'split'するためのbashスクリプトを作成し、それらのファイルを1つずつ繰り返し、それぞれのスタートアップに対してそのファイルである引数を持つscrapyスパイダーを作成することです:' scrapy crawl -a file = xab' – Granitosaurus
私はPHPが上手だから、そのためにPHPスクリプトを書くかもしれません。:)良い答え – Umair