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

OSCHINA-MIRROR/resolvewang-WeiboSpider

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Основные особенности проекта :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 )

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

Введение

Распределённый краулер для Twitter. Собираются данные, включающие информацию о пользователях, твиты, комментарии и ретвиты. В данный момент основное внимание уделяется сбору данных из Twitter, работа ведётся в режиме быстрой итерации. Если считаете это полезным, не стесняйтесь поставить звезду на GitHub, возможно, обновления на Open Source Confe... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
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