Как использовать Rabbitmq или Kafka для масштабирования паука Scrapy, который принимает user_id в качестве входных данных и получает соответствующие URL из базы данных? - PullRequest
0 голосов
/ 09 марта 2019

Я построил паука scrapy, который принимает user_id в качестве аргумента командной строки и получает URL-адреса из базы данных. Теперь я хочу, чтобы мое приложение было масштабируемым.

В то же время я смотрел на некоторые из решений, представленных в Интернете, но не все они в точности соответствуют моим требованиям, так как в некоторых из них предлагается передать кучу URL-адресов в scrap и выполнять очистку, а другие предлагают использовать корневой URL-адрес и оставить все для Scrapy, но мой вариант использования совершенно другой. Я ищу подход здесь.

Вместо того, чтобы распространять URL-адреса, если бы я мог распределить идентификаторы клиентов по паукам, это тоже подойдет.

1 Ответ

0 голосов
/ 10 марта 2019

Вы можете использовать Scrapinghub Cloud для этого. Пауки Scrapy работают на нем «из коробки», и вы можете использовать его Collection API для хранения ваших user_id для использования пауком.

Существует бесплатный уровень, если вы хотите проверить его.

Но если вы хотите попробовать автономное решение, вы можете попробовать Frontera

Frontera - это платформа для сканирования в Интернете, состоящая из границы сканирования и примитивов распространения / масштабирования, позволяющая создать крупномасштабный онлайн-сканер в Интернете.

Frontera заботится о логике и политиках, которым необходимо следовать во время сканирования. Он сохраняет и устанавливает приоритеты ссылок, извлеченных сканером, чтобы решить, какие страницы следует посетить в следующий раз, и способен выполнять это распределенным образом.

Основные характеристики

  • (...)

  • Встроенные шины сообщений Apache Kafka и ZeroMQ.

...