CoderCastrov logo
CoderCastrov
Парсер

Овладение парсингом данных с использованием Python - Портал работы

Овладение парсингом данных с использованием Python - Портал работы
просмотров
2 мин чтение
#Парсер
setup project web scraping

На интернете существует множество порталов работы. Один из них - id.indeed.com. Здесь есть много информации о вакансиях, которые требуются. Поэтому на этот раз я буду парсить данные с веб-сайта id.indeed.com.

В этот раз мы будем использовать язык программирования Python с использованием пакетов BeautifulSoup и Selenium, наиболее популярных в парсинге веб-сайтов.

На моем ноутбуке уже установлены python3 и pip 22.0.4.


Настройка проекта

setup project web scraping

Создайте файл скрипта парсинга веб-страницы с именем "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.