Овладение парсингом данных с использованием Python - Портал работы
На интернете существует множество порталов работы. Один из них - id.indeed.com. Здесь есть много информации о вакансиях, которые требуются. Поэтому на этот раз я буду парсить данные с веб-сайта id.indeed.com.
В этот раз мы будем использовать язык программирования Python с использованием пакетов BeautifulSoup и Selenium, наиболее популярных в парсинге веб-сайтов.
На моем ноутбуке уже установлены python3 и pip 22.0.4.
Настройка проекта
Создайте файл скрипта парсинга веб-страницы с именем "index.py". "Index.html" используется для получения результатов парсинга, чтобы мы могли узнать, какие данные мы хотим получить. "Jobs.json" - это результат парсинга, который мы получаем, поэтому мы записываем его в формате JSON. И последний файл "runpy.bat" позволяет запустить программу парсинга веб-страницы Python одним щелчком.
Импорт пакетов
Мы импортировали множество пакетов - BeautifulSoup для тестирования симуляции активности на веб-сайте, который мы хотим спарсить. Selenium для поиска необходимых данных. Время для задержки в данный момент. И так далее.
Класс
Создаем класс, чтобы код был легче понять. Затем мы настраиваем selenium в конструкторе класса "ScrapingPortalJob", чтобы при использовании класса это происходило автоматически.
Вспомогательные функции
- Функция "__getPage" для получения HTML-скрипта из переменной "link".
- Функция "typingWhat" для ввода названия работы в поле ввода с идентификатором "text-input-what".
- Функция "typingWhere" для ввода местоположения работы в поле ввода с идентификатором "text-input-where".
- Функция "clickFindJob" для события нажатия кнопки для поиска информации о работе.
- Функция "__getDescJob" для поиска описания работы.
Основная функция
Процесс парсинга веб-страницы находится в этой функции. Некоторый код скрипта имеет следующие цели:
- Строки 4–7: ожидание появления страницы на веб-сайте.
- Строки 9–10: если вы хотите отслеживать, удалось ли получить нужные данные.
- Строка 13: подключение пакета BeautifulSoup для получения информации из переменной "this.html".
- Строки 15–34: процесс получения названия вакансии, названия компании, ссылки на вакансию, описания вакансии.
- Строки 36–38: запись результата в файл "jobs.json".
Использование всех кодов
Когда все функции были созданы, затем мы вызываем функции для запуска программы парсинга.
Результат? Позвольте мне сделать для вас скриншот!
Поздравляю!
Мы смогли получить информацию о вакансиях с веб-портала вакансий, и результат представлен в виде файла JSON.
Полный исходный код вы можете получить здесь. Не забудьте поставить звезду на моем репозитории GitHub.