Разработать парсер linkedin на телеграмм боте
1. Цель проекта Создание парсера для LinkedIn, который будет работать через Telegram. Парсер должен собирать информацию о пользователях и компаниях с LinkedIn, включая:
Имя пользователя
Ссылка на профиль пользователя
Название компании
Ссылка на профиль компании
Почтовые адреса (по возможности)(пункты могут добавляться в зависимости от возможностей api)
Результаты поиска должны экспортироваться в Google Таблицы для дальнейшего использования и обработки.
Парсинг будет осуществляться с использованием следующих библиотек:
linkedin-api
linkedin-scraper(или других при наличии)
2. Основные функциональные требования
Интерфейс с Telegram:
Создать бота в Telegram, который будет взаимодействовать с пользователями.
Пользователь может отправлять запросы для поиска профилей на LinkedIn и получать результаты в виде сообщений в Telegram.
Результаты поиска, помимо вывода в Telegram, должны быть экспортированы в Google Таблицы.
Поиск на LinkedIn:
Парсинг информации по ссылке на поиск с выставленными фильтрами
Реализовать поиск через LinkedIn Search и Sales Navigator.
Обработка ошибок:
Обработка ошибок, возникающих при неудачном запросе, блокировке аккаунтов и других нештатных ситуациях.
Экспорт в Google Таблицы:
После получения результатов поиска, парсер должен автоматически экспортировать данные в Google Таблицы.
Для каждого поиска создавать новый лист, с уникальным названием по имени пользователя
Таблица должна содержать следующие колонки:
Имя пользователя
Ссылка на профиль
Название компании
Ссылка на компанию
Почта (если доступно)
Для работы с Google Таблицами необходимо использовать Google Sheets API для автоматического создания и редактирования таблиц.
3. Функциональные особенности
Телеграмм-бот:
Бот должен принимать команды от пользователя через Telegram:
/start — запуск бота и приветственное сообщение.
/search <поисковый запрос> — выполнение поиска по ключевому запросу на LinkedIn, вывод результатов в Telegram и экспорт их в Google Таблицы.
/help — описание доступных команд.
Каждому результату поиска должна быть дана краткая информация:
Имя пользователя.
Ссылка на профиль пользователя.
Название компании.
Ссылка на профиль компании.
Почтовый адрес (если доступно).
Парсинг LinkedIn:
Использовать linkedin-scraper для получения информации с публичных страниц пользователей и компаний (если доступны).
Использовать linkedin-api для получения информации о профиле пользователя, включая имя, компанию, позицию и почту (если доступна).
Получение данных:
Для пользователей, чьи страницы доступны:
Имя и фамилия.
Профильная ссылка на LinkedIn.
Компания, где работает пользователь.
Ссылка на страницу компании.
Электронная почта (если публично доступна).
Ограничения:
Параллельное выполнение запросов для ускорения поиска, если возможно.
Для избежания блокировок необходимо добавить случайные задержки между запросами.
Отображение ошибки в случае блокировки пользователя или проблемы с запросом.
Данные безопасности и конфиденциальности:
Соблюдать политику конфиденциальности LinkedIn и избегать парсинга данных, которые противоречат их условиям использования.
Защита данных пользователей (например, пароли) и соблюдение стандартов безопасности для Telegram-ботов.
4. Технические требования
Среда разработки:
Python 3.8 или выше.
Использование библиотек python-telegram-bot для создания бота.
Использование linkedin-scraper и linkedin-api для получения данных с LinkedIn.
Использование Google Sheets API для автоматического экспорта данных в таблицы.
Интеграция с Telegram:
Использование Telegram Bot API для создания и работы с ботом.
Получение сообщений от пользователей и отправка ответов.
Архитектура:
Парсер должен быть многозадачным, чтобы обрабатывать несколько запросов одновременно, без блокировки аккаунта.
Реализовать использование баз данных или файлов для хранения временных данных (например, для отслеживания ограничений и очереди запросов).
Интеграция с Google Sheets API:
Для работы с Google Таблицами необходимо использовать OAuth 2.0 для авторизации и доступа к Google Sheets API.
После получения результатов поиска парсер должен автоматически создать новый лист в Google Таблице, заполнить его соответствующими данными и предоставить ссылку на таблицу пользователю.
5. Этапы разработки
Этап 1 — Создание Telegram-бота:
Настройка Telegram-бота и его интеграция с Python.
Разработка команд для бота (например, /start, /search, /help).
Этап 2 — Реализация парсера LinkedIn:
Настройка и тестирование библиотек linkedin-api и linkedin-scraper.
Реализация логики поиска и извлечения данных из LinkedIn.
Обработка информации о пользователях и компаниях.
Этап 3 — Интеграция с Telegram-ботом:
Интеграция парсера с Telegram-ботом для отправки результатов поиска.
Обработка команд и вывод результатов пользователю.
Интеграция с Google Sheets API для автоматического экспорта данных.
Этап 4 — Тестирование:
Проведение тестирования бота на различных данных и исправление ошибок.
Проверка работы бота в условиях ограничений и капч.
Этап 5 — Развертывание и поддержка:
Развертывание бота на сервере или в облаке.
Обеспечение стабильной работы и мониторинг.
6. Дополнительные требования
Возможность доработки бота с добавлением новых функций.
Оптимизация скорости работы бота и парсера для эффективного получения данных.
Предоставление отчётов о работе бота в случае возникновения ошибок или блокировок.
7. Ожидаемые результаты
Рабочий Telegram-бот, который позволяет искать информацию на LinkedIn и экспортировать данные в Google Таблицы.
Результаты поиска, включающие имя пользователя, ссылку на профиль, компанию, ссылку на компанию и почту (если доступно), экспортируются в таблицу.
Bots