«Здравствуйте! Можете, пожалуйста, прислать код вакансии с сайта Kadrout для категории «Другое», размещённой за последнюю неделю? Заранее спасибо!»
Ответ нейросети
06 марта 2026 10:22
Понял задачу. Я не могу напрямую зайти на сайт Kadrout и выдать актуальные коды вакансий за последнюю неделю, потому что у меня нет онлайн-доступа к сайтам в этом окне. Но могу рассказать пошагово, как это сделать самому и дать готовый шаблон кода, который вы сможете запустить локально и адаптировать под структуру конкретной страницы.
Вот как можно получить нужные коды вакансий "для категории Другое" за последнюю неделю
- Ручной способ (без кода)
- Перейдите на сайт Kadrout.
- Найдите раздел вакансий.
- Отфильтруйте по категории: выбрать "Другое" (или аналогичный перевод) в параметрах поиска.
- Отфильтруйте по дате размещения: выбрать последние 7 дней / за последнюю неделю.
- Каждый элемент вакансии обычно имеет уникальный идентификатор (код вакансии) в карточке или в URL.
- Запишите или скопируйте коды вакансий и сопутствующие данные (название, дата публикации, ссылка). Если сайт даёт возможность экспортировать в CSV, можно воспользоваться этим.
- Программный способ (рекомендую, если нужно регулярно обновлять данные) Пример ниже – универсальный шаблон на Python с библиотеками requests и BeautifulSoup. Он рассчитан на то, чтобы вы сами подставили правильные селекторы страницы после проверки структуры конкретной страницы Kadrout. Также можно дополнительно адаптировать под динамическую загрузку (Selenium), если страница подгружает контент через JavaScript.
Что нужно знать перед запуском:
- Установите библиотеки: requests, beautifulsoup4, python-dateutil (для удобного разбора дат).
- Пройдите на страницу с вакансиями и определите:
- как выглядят карточки вакансий (CSS селектор карточки, напр. ".job-card" или аналогично);
- где находится код вакансии (обычно в атрибутах data-id или в заголовке ссылки);
- где дата публикации (атрибут текста на карточке);
- как формируется ссылка на саму вакансию.
- В коде ниже замените селекторы (CSS селекторы) на реальные из вашей страницы.
Пример кода (Python):
- Примечание: это шаблон. Замените селекторы на реальные после инспекции страницы.
Установка необходимых библиотек (одной командой)
pip install requests beautifulsoup4 python-dateutil
import requests from bs4 import BeautifulSoup from urllib.parse import urljoin from datetime import datetime, timedelta from dateutil import parser as dateparser
def parse_date(text): # Простой конвертер дат: пытаемся разобрать текст с датой if not text: return None text = text.strip().lower() try: return dateparser.parse(text, fuzzy=True) except Exception: return None
def extract_jobs(base_url, category_slug='druhoe', days=7, max_pages=10): """ base_url: базовый URL раздела вакансий (например, https://www.kadrout.ru/jobs) category_slug: slug категории, если нужен фильтр по категории (на некоторых сайтах может быть параметр в URL) days: сколько дней считать "последняя неделя" max_pages: лимит страниц для обхода (чтобы не уйти бесконечно) Возвращает список словарей: {id, title, date, category, link} """ results = [] session = requests.Session() session.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' })
cutoff = datetime.now() - timedelta(days=days)
page = 1
while page <= max_pages:
# Формируем URL страницы с учётом пагинации и, возможно, фильтра по категории
# Это пример; реальные параметры зависят от конкретного сайта.
url = f"{base_url}?page={page}"
if category_slug:
url += f"&category={category_slug}"
print(f"Обрабатываю страницу: {url}")
resp = session.get(url, timeout=20)
if resp.status_code != 200:
print(f"Страница недоступна, код {resp.status_code}. Прерываю обход.")
break
soup = BeautifulSoup(resp.text, 'html.parser')
# Найдите все карточки вакансий на странице
# Замените '.job-card' на реальный селектор карточки на Kadrout
job_cards = soup.select('.job-card') # <-- заменить на реальные селекторы
if not job_cards:
print("Карточки вакансий не найдены на этой странице. Прерываю обход.")
break
for card in job_cards:
# Извлечь id/код вакансии
# Возможные варианты:
# - data-id атрибут карточки
# - href ссылки на вакансию может содержать код
vid = None
if card.has_attr('data-id'):
vid = card['data-id']
if not vid:
a_tag = card.find('a')
if a_tag and a_tag.has_attr('href'):
vid = a_tag['href'].rstrip('/').split('/')[-1]
# Название
title_el = card.select_one('.job-title') # заменить на реальный селектор
title = title_el.get_text(strip=True) if title_el else None
# Дата публикации
date_el = card.select_one('.post-date') # заменить на реальный селектор
date_text = date_el.get_text(strip=True) if date_el else ''
date_posted = parse_date(date_text)
# Категория (если есть на карточке)
category_el = card.select_one('.job-category') # заменить на реальный селектор
category = category_el.get_text(strip=True) if category_el else ''
# Ссылка на вакансию
link = None
if title_el and title_el.parent and title_el.parent.name == 'a':
link = urljoin(base_url, title_el.parent['href'])
elif 'href' in card.attrs:
link = urljoin(base_url, card['href'])
# Фильтрация по дате: оставить только недавние
if date_posted and date_posted >= cutoff:
results.append({
'id': vid,
'title': title,
'date': date_posted.strftime('%Y-%m-%d %H:%M'),
'category': category,
'link': link
})
# Переходим к следующей странице
page += 1
return results
if name == "main": # Замените базовый URL на реальный адрес раздела вакансий Kadrout BASE_URL = "https://www.kadrout.ru/jobs" # пример # Если у вас есть конкретный slug категории для фильтра, укажите его CATEGORY_SLUG = "druhoe" # пример; может быть пустым, если фильтра нет DAYS = 7 jobs = extract_jobs(BASE_URL, CATEGORY_SLUG, DAYS, max_pages=5)
# Выводим результат
for j in jobs:
print(f"Код: {j['id']}, Название: {j['title']}, Дата: {j['date']}, Категория: {j['category']}, Ссылка: {j['link']}")
Что учесть и как адаптировать
- Селекторы CSS в коде нужно заменить на реальные, исходя из структуры страницы Kadrout:
- Карточки вакансий: что именно оборачивает каждую вакансию.
- Название вакансии: обычно класс вроде .job-title.
- Дата публикации: может быть .date, .posted, .post-date и т. п.
- Категория: .category, .job-category и т.д.
- Если сайт подгружает данные динамически после загрузки страницы (через JavaScript), requests+BeautifulSoup могут не увидеть содержимое. В таком случае используйте:
- Selenium и драйвер браузера (ChromeDriver/GeckoDriver) для полной загрузки страницы.
- Либо провайдер API, если API у сайта есть (на некоторых сайтах есть REST API для вакансий).
- Библиотека dateutil нужна для устойчивого распознавания дат в разных форматах. Установите её через pip install python-dateutil.
- Важно учитывать правила сайта: не нарушайте условия использования и не превышайте разумный лимит запросов (добавляйте задержки между запросами, используйте корректный User-Agent).
- После того как подставите реальные селекторы и тестово запустите скрипт, вы получите список вакансий с полями: id, title, date, category, link. Это и будет ваш «код вакансии» (id) и связанные данные за последнюю неделю.
Если хотите, могу помочь на следующем шаге:
- Пришлите, пожалуйста, HTML-кусок страницы вакансий Kadrout или ссылку на нужную страницу (нужно увидеть структуру DOM).
- Я подскажу точные селекторы и адаптирую код под конкретную страницу, чтобы он корректно вытягивал именно коды вакансий за последние 7 дней.
Готов помочь подробно на любом этапе: от ручного поиска до точной настройки скрипта под ваш кейс.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



