Я создал небольшую программу на Python для парсинга Glassdoor, потому что мне нужны были данные о работе для некоторого анализа. Я создал парсер с помощью веб-драйвера Python и Selenium. Хотя Selenium в основном используется для запуска автоматических тестов веб-приложений и т.п., он также служит удобным инструментом очистки. Я относительно неопытен как кодер, и я подумал, что это будет интересный способ поработать над моими навыками кодирования.

Эта статья Омера Сакарья отлично объясняет процесс парсинга Glassdoor (или любой веб-страницы в этом отношении), и я бы посоветовал прочитать ее, прежде чем двигаться дальше. Однако эта статья была опубликована в 2019 году, и я обнаружил, что их код устарел, поэтому я решил написать свой собственный.

Код:

Вы можете найти мой код здесь. Это может быть грязно, но это делает работу!

Выход:

Программа принимает два входа: название должности и количество страниц, которые вы хотите очистить. Затем он ищет указанную должность в строке поиска, нажимает на каждый список вакансий и очищает данные. Этот процесс повторяется до тех пор, пока не будет пройдено указанное количество страниц. Наконец, очищенные данные собираются в кадр данных, который затем записывается в файл .csv.

Что вам понадобится:

  1. Блокнот Юпитера
  2. Веб-браузер Google Chrome
  3. Некоторое практическое знание выражений Python, HTML и XPATH.
  4. Установлен Python версии 3.xx
  5. chromedriver.exe (https://chromedriver.chromium.org/)
  6. Приложение для работы с электронными таблицами, например MS Excel, для чтения файлов .csv.

Импорт необходимых библиотек Python

Это библиотеки, которые мы будем использовать для очистки Glassdoor. Перед запуском программы убедитесь, что эти пакеты установлены правильно.

Выполнение кода

Загрузите chromedriver.exe по ссылке, указанной выше. Убедитесь, что версия драйвера Chrome соответствует вашей версии Google Chrome (вы можете проверить версию в разделе «О Chrome» в разделе «Настройки»). Откройте файл glassdoor_scraper.ipynb в блокноте Jupyter. Измените значение переменной «chrome_path» (выделено ниже) на папку, содержащую ваш файл chromedriver.exe.

Первая ячейка импортирует необходимые библиотеки и определяет функцию fetch_jobs. Эта функция принимает два аргумента — ключевое слово и количество страниц. Чтобы начать очистку, вызовите функцию в следующей ячейке и задайте для ключевого слова название должности, для которой вы хотите получить данные, а num_pages — количество страниц, которые вы хотите очистить.

Например, запуск ячейки, показанной выше, приведет к очистке данных для заданий Data Analyst с 5 страниц и печати результатов в файл .csv с именем «Data Analyst.csv» внутри вашего рабочего каталога. Программа завершается после записи результатов в файл .csv.

В зависимости от скорости вашего интернета, очистка одной страницы может занять до 2–3 минут. Вы можете следить за прогрессом, поскольку он распечатывается после того, как каждая страница успешно очищена.

Надеюсь, это было полезно, спасибо!👋