Прочтите инструкцию по конфигурации проекта для настройки необходимой среды.
Скачайте стабильную версию приложения с страницы релизов.
Распакуйте скачанный архив и cd
в его директорию.
Установите все зависимости, используя source env.sh
, если вы хотите использовать виртуальное окружение, или pip3 install -r requirements.txt
, если вы хотите использовать системную среду Python.
Отредактируйте файл конфигурации spider.yml, чтобы указать информацию о соединении MySQL и Redis, данные для регистрации и пополнения баланса на платформе YunDaMa, а также адрес электронной почты для отправки уведомлений. Вы также можете настроить интервалы между запросами и другие параметры, подробнее см. примечания.
Создайте базу данных с названием weibo
. Для этого выполните команду python config/create_all.py
для создания таблиц, необходимых для работы пауков. В случае использования версий до v1.7.2, используйте команду python create_all.py
.7. (Необязательно, нововведение в v1.7.3) Если вы хотите настраивать ключевые слова и другую информацию через Web UI, вам потребуется изменить информацию о соединении базы данных в разделе DATABASES
файла admin/weibo_admin/settings.py. Запустите следующие команды в корневой директории проекта:
python admin/manage.py makemigrations
python admin/manage.py migrate
python admin/manage.py createsuperuser
Это создаст необходимые таблицы для Django Admin. При выполнении команды python admin/manage.py createsuperuser
вас попросят ввести имя пользователя, электронную почту и пароль для суперпользователя Django. Например, можно ввести test
, resolvewang@foxmail.com
и weibospider2017
. После этого будет создан суперпользователь.8. Перед запуском программы пауков необходимо заранее внести учетные записи Weibo и некоторые начальные данные. Например, если вы хотите отслеживать одного пользователя, то следует добавить его uid
в таблицу seed_ids
. Получить uid
можно, открыв страницу профиля пользователя и найдя значение oid
в исходном коде страницы. Если вы хотите искать ключевые слова через API Weibo, добавьте эти ключевые слова в таблицу keywords
. Если вы выполнили шаг 7, вы сможете настроить всё через Web UI. Запустите сервер:
python admin/manage.py runserver 0.0.0.0:8000
Для запуска конфигурационной панели пауков введите следующее. Затем откройте ваш браузер и введите http://127.0.0.1:8000/admin
, чтобы получить доступ к конфигурационному приложению пауков. Введите созданный ранее логин test
и пароль weibospider2017
. Конфигурирование можно выполнить в разделе Конфигурация Weibo. Обратите внимание, что встроенный сервер Django не обеспечивает производственную стабильность, поэтому если вам требуется использовать его в продактшн-среде, рекомендуется использовать gunicorn или uwsgi как веб-сервер, а также supervisor в качестве менеджера процессов.После завершения конфигурации запустите рабочий процесс с помощью команды:
celery -A tasks.workers -Q login_queue,user_crawler,fans_followers,search_crawler,home_crawler worker -l info -c 1
Здесь -Q
указывает, какие задачи могут быть приняты на выполнение на данном компьютере; подробнее читайте в разделе все задачи WeiboSpider и их описание. Опция -c
указывает количество одновременно выполняемых задач, а -l
— уровень журналирования.
Вышеупомянутую команду можно выполнять на нескольких машинах для распределённого сбора данных. Вам потребуется установить зависимости проекта на других машинах через source env.sh
или pip3 install -r requirements.txt
.
На этом все подготовительные работы закончены. Теперь нам нужно отправить задачи рабочему процессу. Есть два способа: 1) выполните python first_task_execution/login_first.py
для входа, аналогично для остальных задач; 2) поскольку мы используем периодическую систему для решения проблемы временной недействительности Cookie Weibo и достижения цели непрерывного сбора данных, вы можете запустить celery beater на любом узле с помощью команды:
celery beat -A tasks.workers -l info
Этот beater будет периодически отправлять задачи Celery Worker для выполнения. Обратите внимание, что beater может существовать только один, иначе задачи могут повторяться. Настройки периода находятся в файле tasks/workers.py.На этом все настройки завершены. Если у вас возникли трудности во время выполнения вышеописанных шагов, пожалуйста, внимательно просмотрите всю документацию проекта. Если вы всё ещё испытываете трудности или сталкиваетесь с проблемами во время использования, вы можете открыть issue.
Если данный проект был полезен для вас или он вдохновил вас, вы можете сделать небольшое пожертвование через WeChat или Alipay, чтобы поддержать дальнейшее обслуживание и развитие этого проекта.
Целью создания этого проекта было мониторинг части информации и получение необходимых данных для обработки естественного языка. При отборе данных была строго ограничена частота запросов. Позднее, благодаря развитию технологий и интересу, проект был расширен до распределённой системы и исследования противоположных мер безопасности микроблога.
Поэтому автор просит пользователей использовать этот проект в соответствии с принципом "хватит и так", контролируя частоту запросов через файл конфигурации, чтобы не нанести значительного ущерба нормальной работе и обслуживанию системы микроблога.## Другое
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )