хотите помочь? Вот ваши варианты:","Crunchbase","О нас","Спасибо всем за потрясающую поддержку!","Быстрые ссылки","Партнерская программа","ProxyScrape премиум-проба","Проверка прокси-сервера онлайн","Типы прокси-серверов","Страны-посредники","Примеры использования прокси-сервера","Важно","Политика в отношении файлов cookie","Отказ от ответственности","Политика конфиденциальности","Условия и положения","Социальные сети","Facebook","LinkedIn","Twitter","Quora","Telegram","Дискорд"," © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgium | VAT BE 0749 716 760"]}
В этой статье мы расскажем вам о том, как делать веб-скраппинг для поиска вакансий. Итак, вы находитесь на рынке труда и пытаетесь найти лучшую работу. Но вы хотите играть умнее, а не сложнее. Почему бы не создать веб-скрепер, который будет собирать и анализировать объявления о работе за вас. Как только вы его настроите, он предоставит вам богатейшие данные в красивом и аккуратном формате, так что вам не придется проверять их вручную снова и снова. Давайте начнем.
Веб-скрепинг для размещения вакансий - это решение, которое автоматически собирает данные с нескольких порталов о работе и сокращает ваше время на получение данных с каждого сайта. Наличие такого инструмента, который может предоставить вам полную базу данных вакансий, упростит вашу задачу в несколько раз. Все, что вам нужно сделать, - это отфильтровать подходящие вам вакансии и приступить к процессу подачи заявки.
Итак, вы находитесь на рынке труда и пытаетесь найти лучшую работу. Но вы хотите играть умнее, а не сложнее. Почему бы не создать веб-скрепер, который будет собирать и анализировать объявления о работе за вас? Как только вы его настроите, он предоставит вам богатейшие данные в красивом и аккуратном формате, так что вам не придется проверять их вручную снова и снова. Давайте начнем.
[Отказ от ответственности! Многие веб-сайты могут ограничивать удаление данных со своих страниц. Пользователи могут столкнуться с юридическими проблемами в зависимости от того, где и как они пытаются извлечь информацию. Поэтому нужно быть предельно осторожным при посещении сайтов, на которых хранятся их данные. Например, Facebook, Linked In и Craiglist иногда возражают, если данные соскабливаются с их страниц. Так что если вы хотите скрести, скребите на свой страх и риск].
Это будет очень базовая статья, в которой мы рассмотрим основы веб-скреппинга, извлекая полезную информацию о вакансиях, связанных с "Data Science", с сайта indeed.com. Мы напишем удивительную программу, которая будет обновлять вакансии несколько раз вручную. Некоторые полезные библиотеки, которые будут очень кстати при создании этого скрепера, - это "requests" и "BeautifulSoup".
То, как структурирован URL, имеет большое значение:
Эта структура URL будет очень полезна, когда мы продолжим создание скрепера и сбор данных с нескольких страниц.
В Chrome можно изучить HTML-структуру страницы, щелкнув на ней правой кнопкой мыши и воспользовавшись опцией inspect element. Справа появится меню, в котором также будут показаны теги вложенных элементов, а при наведении курсора на эти элементы будет подсвечиваться эта часть экрана.
Для этой статьи я предполагаю, что вы знаете основы HTML, такие как теги, divs и т. д., но, к счастью, вам не нужно знать все. Вам просто нужно понять структуру страницы и иерархию различных компонентов.
Теперь мы проанализировали структуру страницы. Это поможет нам построить код в соответствии с этой информацией для извлечения нужных нам данных. Начнем с импорта наших библиотек. Обратите внимание, что здесь мы также импортируем "время", что поможет не перегружать сервер сайта при сборе информации.
Сначала мы нацелимся на отдельную страницу, чтобы вывести все нужные нам данные,
Использование prettify облегчает обзор HTML-кода страницы и позволяет получить результат, подобный этому,
Теперь вся информация об интересующей нас странице находится в нашей переменной "soup". Придется еще покопаться в коде, чтобы перебрать различные теги и подтеги для получения нужной информации.
Пять ключевых моментов для каждого объявления о работе,
Если мы посмотрим на страницу, то там будет 15 объявлений о работе. Поэтому наш код также должен генерировать 15 различных элементов. Однако если код выдает меньше, чем нужно, мы можем вернуться к странице и посмотреть, что именно не было получено.
As can be seen, the entirety of each job posting is under <div> tags, with an attribute “class” = “row result.”
Further, we could also see that job titles are under <a> tags, with the attribute “title = (title)”. One can see the value of the tag’s attribute with tag[“attribute”], so I can use it to find each posting’s job title.
Если обобщить, то функция, которую мы увидим, состоит из следующих трех шагов,
Этот код выдает следующий результат,
Getting company names can be a bit tricky because most of them are appearing in <span> tags, with “class”:” company”. They are also housed in <span> tags with “class”:” result-link-source”.
Мы будем использовать операторы if/else для извлечения информации о компании из каждого из этих мест. Чтобы удалить белые пробелы вокруг названий компаний при выводе, мы используем inputting.strip() в конце.
Locations are located under the <span> tags. Span tags are sometimes nested within each other, such that the location text may sometimes be within “class”:”location” attributes, or nested in “itemprop”:”addressLocality”. However a simple for loop can examine all span tags for text and retrieve the necessary information.
Зарплата - самая сложная часть для извлечения из объявлений о работе. Большинство объявлений вообще не публикуют информацию о зарплате, а в тех, которые публикуют, она может быть найдена в нескольких местах. Поэтому нам нужно написать код, который сможет найти несколько зарплат в разных местах, а если зарплата не найдена, то создать значение "Ничего не найдено" для всех вакансий, в которых нет зарплаты.
Some salaries are under <nobr> tags, while others are under <div> tags, “class”:”sjcl” and are under separate div tags with no attributes. Try/except statement can be helpful while extracting this information.
Последняя задача - получить резюме вакансии. Однако получить резюме по каждой конкретной вакансии невозможно, поскольку они не включены в HTML-файл данной страницы Indeed. Мы можем получить некоторую информацию о каждой вакансии из того, что нам предоставлено. Для этого мы можем использовать Selenium.
But let’s first try this using python. Summaries are located under <span> tags. Span tags are nested within each other such that the location text is within “class”:” location” tags or nested in “itemprop”:” adressLocality”. However, using a simple for loop can examine all span tags for text to retrieve the necessary information.
В этой статье мы рассмотрели, что такое веб-скрепинг и как он может быть полезен в нашей повседневной жизни, на практическом примере соскоба данных о вакансиях с веб-страниц Indeed. Обратите внимание, что результаты, которые вы получите, могут отличаться от этих, так как страницы динамические, и информация на них меняется со временем.
Веб-скрапинг - это невероятная техника, если она выполнена правильно и в соответствии с вашими требованиями. Далее мы рассмотрели пять важных аспектов каждой вакансии и способы их извлечения. Когда вы попробуете этот код на практике, у вас будут собраны данные о вакансиях, и вам не нужно будет искать их вручную, что просто замечательно. Эту же технику можно применить и к другим веб-страницам, но их структура может отличаться. Поэтому необходимо оптимизировать код в соответствии с ней. Но все основы описаны в этой статье, поэтому не возникнет никаких трудностей и с другими страницами.