pyspider (binux/pyspider)
Searching Database…
Что это такое?
pyspider — это мощная система веб-краулинга (сбора данных с сайтов), написанная на Python: вы пишете скрипты обхода на Python и управляете своими проектами через встроенный веб-интерфейс.
Это библиотека, которую я подключаю в свой код, или программа, которую я запускаю?
Программа, которую вы запускаете — это полноценная система краулинга со своим WebUI, а не библиотека. Логика обхода сайтов живёт в Python-скриптах, которые система сама выполняет, планирует и отслеживает за вас.
Как его запустить?
Установите его командой 'pip install pyspider', запустите команду 'pyspider' и откройте WebUI в браузере. В репозитории также есть Dockerfile.
Нужно ли мне настроить базы данных или очереди сообщений перед использованием?
Для быстрого старта — нет, но при больших объёмах она подключается к MySQL, MongoDB, Redis, SQLite, Elasticsearch или PostgreSQL (через SQLAlchemy) для хранения данных, а в качестве очереди сообщений использует RabbitMQ, Redis или Kombu.
Есть ли подводные камни, прежде чем я открою панель управления наружу?
Да — WebUI по умолчанию открыт для всех, и через него можно выполнить произвольные команды, способные навредить вашей системе, поэтому держите его во внутренней сети или включите опцию need-auth для WebUI.
Что я могу делать через WebUI?
Писать и редактировать скрипты краулера, следить за выполняющимися задачами, управлять проектами и смотреть собранные результаты — весь процесс обхода сайтов происходит прямо в браузере.
Может ли он обрабатывать страницы, которые используют JavaScript?
Да — обход JavaScript-страниц заявлен в числе его основных возможностей, так что он не ограничен статичным HTML.
Как он справляется с повторами и повторными обходами?
Задачи поддерживают приоритеты, повторы при сбоях, запуск по расписанию и повторный обход страниц с учётом их возраста, так что результаты можно поддерживать актуальными, не переписывая скрипты.
Масштабируется ли он за пределы одной машины?
Да — у него распределённая архитектура, поэтому краулеры могут работать на нескольких машинах; для больших нагрузок подключите к нему очередь сообщений и масштабируемую базу данных.
What are similar projects?
crawl4ai, MediaCrawler, scrapy, crawlab, maxun, firecrawl, crawlee, botasaurus
Which topics is it in?
web-crawling, data-mining, data-extraction, scraper, scheduler, crawler, webui, web-scraping, distributed-systems, web-app, automation, tool