Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3614837
А
Аноним
13 мая 2026 12:17 · публичный вопрос
А
Аноним

скажи код из любой вакансии за последнюю неделю на сайте “Kadrout"

Ответ нейросети
13 мая 2026 12:17

Не могу напрямую заходить на сайт и вытягивать актуальные вакансии за последнюю неделю, но могу показать, как найти и получить «код вакансии» самостоятельно и привести рабочие примеры кода, которые вы сможете запустить локально.

Цель здесь: понять, как получить идентификатор (код) вакансии за последние 7 дней на сайте Kadrout и как это кодово оформить.

Шаги manual (как сделать без кода)

  • Откройте сайт Kadrout.
  • Найдите раздел вакансий/карьеры.
  • Примените фильтр по дате: выбрать «за последнюю неделю» или «последние 7 дней» (или задайте диапазон дат вручную, если такой фильтр отсутствует).
  • Просмотрите вакансии и откройте одну-две из них.
  • Идентификатор вакансии обычно встречается как:
    • часть URL: например, kadrout.ru — здесь 12345 и есть код вакансии.
    • атрибут data-id у карточки вакансии на странице списка.
    • в meta-данных страницы (мета-тегах) или в виде поля “id” внутри карточки вакансии.
  • Скопируйте код вакансии (число после /vacancies/ или значение data-id). Это и есть ваш «код вакансии».

Пример кода на Python: получить списком коды вакансий за последние 7 дней Вариант A — если у Kadrout есть API (рекомендуется, если доступно)

  • Пример ниже — общий шаблон. Замените базовый URL на реальный from сайта, и используйте реальные названия полей из вашего API.
import requests
from datetime import datetime, timedelta

# Укажите реальный API-эндпоинт Kadrout
BASE_URL = "https://kadrout.ru/api/vacancies"

def last_week_date_str():
    d = datetime.utcnow() - timedelta(days=7)
    return d.strftime("%Y-%m-%d")

params = {
    "posted_after": last_week_date_str(),  # дата публикации после этой даты
    "limit": 100,                          # сколько вакансий вернуть
    # возможно, понадобится authentication, например:
    # "api_key": "your_api_key"
}

headers = {
    "Accept": "application/json"
}

resp = requests.get(BASE_URL, params=params, headers=headers)
resp.raise_for_status()
data = resp.json()

# Предположим, API возвращает список вакансий в ключе "vacancies"
for vac in data.get("vacancies", []):
    title = vac.get("title")
    code = vac.get("id") or vac.get("vacancy_id") or vac.get("code")
    url = vac.get("url") or f"https://kadrout.ru/vacancies/{code}"
    posted = vac.get("date_posted") or vac.get("published_at")
    print(f"{code} | {title} | {posted} | {url}")

Вариант B — если API нет и нужно парсить HTML (web scraping) Важно: сначала проверьте robots.txt и условия использования сайта. Парсинг может быть запрещён или ограничен.

import requests
from bs4 import BeautifulSoup
from datetime import datetime, timedelta
import re

BASE = "https://kadrout.ru/vacancies"  # реальная страница со списком вакансий

resp = requests.get(BASE, timeout=20)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, "html.parser")

# Этот блок нужно адаптировать под реальный DOM Kadrout.
vacancies = []
for card in soup.find_all(class_=lambda c: c and "vacancy" in c):
    # Популярные структура: карточка содержит заголовок, дату и ссылку
    link_el = card.find("a", href=True)
    title_el = card.find(class_="vacancy-title")
    date_el = card.find(class_="vacancy-date") or card.find("time")

    title = title_el.get_text(strip=True) if title_el else (link_el.get_text(strip=True) if link_el else "")
    url = link_el["href"] if link_el else ""
    date_text = date_el.get_text(strip=True) if date_el else ""

    # Попытка распарсить дату (пример; формат зависит от сайта)
    posted = None
    try:
        # Пример обработки: "12.05.2026" или "2026-05-12"
        posted = datetime.strptime(date_text, "%d.%m.%Y")  # адаптируйте под реальный формат
    except Exception:
        try:
            posted = datetime.strptime(date_text, "%Y-%m-%d")
        except Exception:
            pass

    # Обработка кода вакансии: из URL или data-id
    code = None
    if url:
        m = re.search(r"/vacancies/(\d+)", url)
        if m:
            code = m.group(1)
    if not code:
        code = card.get("data-id")

    if posted and (datetime.utcnow() - posted).days <= 7:
        vacancies.append((code, title, url, posted))

for code, title, url, posted in vacancies:
    print(f"{code} | {title} | {posted.date()} | {url}")

Как понять и проверить полученный “код”

  • Если вы видите URL вида /vacancies/12345-что-то, то 12345 — это обычно код вакансии.
  • Если карточка имеет data-id="67890", то 67890 — код вакансии.
  • В случае API в ответе у вакансии обычно есть поле id, vacancy_id, code — возьмите его как код.

Полезные советы

  • Сначала попробуйте найти вакансии вручную за последние 7 дней, чтобы понять, как именно сайт предоставляет код вакансии (через URL, data-id, meta-теги, API).
  • Если планируете регулярную автоматизацию, используйте API сайта (если доступно) — это надёжнее и законнее, чем скрапинг.
  • Всегда проверяйте robots.txt и правила использования сайта, чтобы не нарушать условия.

Если хотите, пришлите образец страницы ваканси на Kadrout (скриншот или HTML-кусок), и я помогу адаптировать код precisely под её разметку, чтобы точно извлекать «код вакансии» за последние 7 дней.