У меня есть проект Scrapy, который считывает 1 миллион идентификаторов продукта из базы данных, а затем начинает очищать информацию о продукте на основе ID с веб-сайта.Запуск нескольких процессов Scrapy Spider
My Spider полностью работает.
Я хочу запустить 10 экземпляров Spider, каждому из которых присвоено одинаковое количество идентификаторов продуктов.
я могу это сделать, как,
SELECT COUNT(*) FROM product_ids
, а затем разделить его на 10, а затем сделать
SELECT * FROM product_ids LIMIT 0, N
и так далее
У меня есть идея, я могу сделать это в терминале, передавая LIMIT
в scrapy command как scrapy crawl my_spider scrape=1000
и так далее.
Но я хочу сделать это в Spider, поэтому я просто запускаю своего Паука только один раз, а затем он запускает еще 10 процессов одного и того же паука внутри паука.
По-моему, эта логика должна оставаться за пределами паутины. Обычный способ сделать это - просто написать сценарий bash для unix 'split' файла, который содержит URL-адреса, а затем перебирать эти файлы по одному и для каждого запуска scipping spider с аргументом, который является этим файлом:' scrapy crawl -a file = xab' – Granitosaurus
Я хорошо разбираюсь в PHP, поэтому я могу написать PHP-скрипт для этого ... :) good suggeststion – Umair