Пользовательский паук для www.zhihu.com
Убедитесь, что у вас установлен python3. Используйте pip для установки зависимостей.
pip install Image requests beautifulsoup4 html5lib redis PyMySQL
Установите mysql
, создайте свою базу данных.
Импортируйте init.sql
для создания таблицы.
# (ubuntu)
apt-get install redis
# или (centos)
yum install redis
# или (macos)
brew install redis
Заполните config.ini.
python get_user.py
или команда python3
python3 get_user.py
В моём блоге есть подробное объяснение кода: Я использовал Python для сбора данных о 100 000 пользователей Zhihu.
Анализ статистических данных: Анализ данных 100 000 пользователей Zhihu.
Необходимые пакеты:
beautifulsoup4
html5lib
image
requests
redis
PyMySQL
Установка всех зависимых пакетов с помощью pip:
pip install Image requests beautifulsoup4 html5lib redis PyMySQL
Требуется поддержка китайского языка в среде выполнения.
Тестирование среды выполнения: python3.5, не гарантируется идеальная работа в других средах выполнения.
1.Необходимо установить mysql и redis
2.Настройте файл config.ini, установите mysql и redis, а также введите свой аккаунт на Zhihu (мастер-ветка нового паука не требует входа в систему, но могут возникнуть проблемы с устареванием, можно переключиться на использование ветки new-ui)
Скорость работы паука можно контролировать с помощью настройки файла config.ini [sys]
sleep_time
(рекомендуется использовать рекомендуемые значения, слишком быстрая работа может привести к блокировке со стороны Zhihu), thread_num
настраивает количество потоков.
3.Импортируйте init.sql в базу данных
Начните сбор данных: python get_user.py
Просмотрите собранное количество: python check_redis.py
Если вы не хотите тратить время, вы можете обратиться к моему простому руководству по созданию базовой среды с использованием docker: mysql и redis — официальные образы.
docker run --name mysql -itd mysql:latest
docker run --name redis -itd redis:latest
Затем используйте docker-compose для запуска образа python, мой docker-compose.yml для python:
python:
container_name: python
build: .
ports:
- "84:80"
external_links:
- memcache:memcache
- mysql:mysql
- redis:redis
volumes:
- /docker_containers/python/www:/var/www/html
tty: true
stdin_open: true
extra_hosts:
- "python:192.168.102.140"
environment:
PYTHONIOENCODING: utf-8
Мой Dockerfile:
From kong36088/zhihu-spider:latest
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )