#python #scrapy #scrapyd #scrapy-pipeline #scrapy-shell
#python #scrapy #scrapyd #scrapy-конвейер #scrapy-shell
Вопрос:
Я создал scrapy spider, который принимает user_id в качестве аргумента командной строки и получает URL-адреса из базы данных. Теперь я хочу, чтобы мое приложение было масштабируемым.
Тем временем я просматривал некоторые решения, представленные в Интернете, но не все в точности соответствуют моим требованиям, поскольку в некоторых предлагается передать кучу URL-адресов в scrapy и выполнить очистку, а в других предлагается использовать корневой URL-адрес и оставить все в Scrapy, но мой вариант использования совершенно другой. Я ищу подход здесь.
Вместо распространения URL-адресов, если бы я мог распространять идентификаторы клиентов среди пауков, это тоже было бы прекрасно.
Ответ №1:
Для этого вы могли бы использовать облако Scrapinghub. Scrapy spiders работают с ним «из коробки», и вы могли бы использовать его Collection API для сохранения вашего user_id
для использования пауком.
Существует бесплатный уровень, если вы хотите его протестировать.
Но если вы хотите попробовать автономное решение, вы могли бы попробовать Frontera
Frontera — это платформа для обхода веб-страниц, состоящая из границ обхода и примитивов распространения / масштабирования, позволяющая создавать крупномасштабный онлайн-поисковый робот.
Frontera заботится о логике и политиках, которым следует следовать во время обхода. Он хранит и расставляет приоритеты ссылок, извлеченных сканером, чтобы решить, какие страницы посетить следующими, и способен выполнять это распределенным образом.
Основные функции
(…)
Встроенные шины сообщений Apache Kafka и ZeroMQ.