1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/resolvewang-WeiboSpider

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 07.03.2025 06:35 2d27e02

Основные особенности проекта :star:

  • Полнофункциональность: включает в себя сбор данных с профилей пользователей, расширенный поиск по ключевым словам, сбор всех оригинальных записей пользователя, сбор комментариев и взаимоотношений репостов.
  • Полнота данных: данные, представленные на сайте для ПК, более полные, чем на мобильной версии. В отличие от других аналогичных проектов, этот проект выполняет множество детальных работ, таких как анализ стратегий парсинга для различных доменов и пользователей.
  • Стабильность: проект способен длительно и стабильно работать.
    • Для обеспечения долгосрочной стабильной работы все сетевые запросы анализируются вручную, без использования автоматических инструментов, в том числе для входа в систему.
    • Установлены разумные пороговые значения для защиты аккаунтов. Однако использование личных аккаунтов не рекомендуется.
    • Даже если аккаунт становится недоступным или вход завершился ошибкой, проект имеет механизмы для управления этими ситуациями (например, временная блокировка аккаунта при возникновении ошибок).
    • Благодаря множественным механизмам обнаружения и обработки ошибок почти все случаи анализа и сбора данных были учтены.
  • Хорошая повторная используемость и расширяемость: проект содержит подробные комментарии к коду, что делает его удобным для чтения.Вы можете использовать его как основу для дальнейшей разработки.
  • Периодическое обновление: проект регулярно обновляется, уже есть годовой опыт развития.## Поддержка документации Для просмотра всех документов нажмите wiki. Если документация не решает ваш вопрос, вы всегда можете создать issue, и поддерживающий участник сообщества ответит вам.

Быстрый старт :octocat:

  1. Прочтите инструкцию по конфигурации проекта для настройки необходимой среды.

  2. Скачайте стабильную версию приложения с страницы релизов.

  3. Распакуйте скачанный архив и cd в его директорию.

  4. Установите все зависимости, используя source env.sh, если вы хотите использовать виртуальное окружение, или pip3 install -r requirements.txt, если вы хотите использовать системную среду Python.

  5. Отредактируйте файл конфигурации spider.yml, чтобы указать информацию о соединении MySQL и Redis, данные для регистрации и пополнения баланса на платформе YunDaMa, а также адрес электронной почты для отправки уведомлений. Вы также можете настроить интервалы между запросами и другие параметры, подробнее см. примечания.

  6. Создайте базу данных с названием 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.

Поддержать автора :thumbsup:

Если данный проект был полезен для вас или он вдохновил вас, вы можете сделать небольшое пожертвование через WeChat или Alipay, чтобы поддержать дальнейшее обслуживание и развитие этого проекта.

  • Донат автору через WeChat

Донат через WeChat

  • Донат автору через Alipay

Донат через Alipay

Важное объявление :loudspeaker:

Целью создания этого проекта было мониторинг части информации и получение необходимых данных для обработки естественного языка. При отборе данных была строго ограничена частота запросов. Позднее, благодаря развитию технологий и интересу, проект был расширен до распределённой системы и исследования противоположных мер безопасности микроблога.

Поэтому автор просит пользователей использовать этот проект в соответствии с принципом "хватит и так", контролируя частоту запросов через файл конфигурации, чтобы не нанести значительного ущерба нормальной работе и обслуживанию системы микроблога.## Другое :heavy_exclamation_mark:

[Часто задаваемые вопросы по использованию проекта](https://github.com/ResolveWang/weibospider/wiki/%E9%A1%B9%E7%9B%AE%E4%BD%BF%E7%94%A8%E5%B8%B8%E8%A7%81%E9%97 AE87AE98 QUESTION MARK)

Дополнительные пояснения к проекту

Прогресс проекта

Благодарность :heart:

  • Спасибо великому специалисту Ask за его Celery — распределённую систему управления задачами и великому специалисту KennethReitz за его Requests библиотеку
  • Спасибо всем друзьям, которые внесли свой вклад в код проекта, подробнее можно узнать из списка участников
  • Спасибо всем друзьям, которые сделали пожертвования этому проекту, подробнее можно узнать из списка донаторов
  • Спасибо всем пользователям, которые поддержали проект звездой и предоставили ценные предложения и замечания во время использования.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/resolvewang-WeiboSpider.git
git@api.gitlife.ru:oschina-mirror/resolvewang-WeiboSpider.git
oschina-mirror
resolvewang-WeiboSpider
resolvewang-WeiboSpider
master