Найди на сайте Kadrout вакансии за последнюю неделю и пришли код вакансии
Ответ нейросети
26 января 2026 08:33
Понял задачу. Я не могу напрямую заходить на сайт и выгружать данные здесь, но могу помочь двумя способами: 1) дать пошаговую инструкцию для ручного сбора кодов вакансий на Kadrout, 2) прислать готовый шаблон скрипта на Python, который вы сможете запустить у себя и получить коды вакансий за последнюю неделю (потребуется заменить селекторы под конкретную версию страницы).
Что лучше выбрать? Сообщите, пожалуйста, URL раздела вакансий на Kadrout (или вставьте сюда пару примерных страниц). Либо используйте следующий шаблон и адаптируйте под реальные селекторы, после чего запустите locally.
- Ручной способ (быстрый, без кода)
- Откройте раздел вакансий на сайте Kadrout.
- Найдите фильтр по дате и задайте период “за последнюю неделю” (или сортировку по дате публикации, затем пройдитесь по верхним страницам).
- Для каждого объявления:
- запишите заголовок вакансии;
- скопируйте ссылку на объявление — обычно это ссылка на саму вакансию (часто содержит уникальный идентификатор в URL);
- найдите код вакансии (могут показывать как «ID», «Код вакансии», или(id) в URL; иногда код присутствует в карточке как data-id).
- Составьте список: для каждого элемента возьмите id (код), название и ссылку. Вывод можно сделать в виде: КодVacancy — Название — URL.
- Готовый шаблон скрипта на Python (для автоматизации) Пример ниже — шаблон. Вам нужно заменить базовый URL, путь к списку вакансий и селекторы под конкретную версию HTML страницы Kadrout. Скрипт собирает вакансии за последние 7 дней и выводит их коды.
Примечание: перед запуском установите библиотеки: pip install requests beautifulsoup4
Код (замените селекторы на реальные из HTML-структуры сайта Kadrout):
- BASE_URL: основная часть сайта, например https://kadrout.ru
- VACANCIES_PATH: путь до страницы со списком вакансий, например /jobs
- SELECTORS: подберите реальные CSS-селекторы, посмотрев HTML-разметку страницы
-- coding: utf-8 --
import requests from bs4 import BeautifulSoup from datetime import datetime, timedelta import re
BASE_URL = "https://kadrout.ru" # заменить на реальный домен Kadrout VACANCIES_PATH = "/jobs" # заменить на реальный путь до вакансий HEADERS = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" }
TODO: замените селекторы под реальную страницу Kadrout
SELECTOR_VACANCY_CARD = ".vacancy-card" # карточка вакансии SELECTOR_TITLE = ".vacancy-title" # заголовок вакансии SELECTOR_LINK = ".vacancy-title a" # ссылка на вакансию SELECTOR_DATE = ".vacancy-date" # дата публикации (если есть)
def is_recent(date_text, days=7): """ Простейшая нормализация даты. В зависимости от формата на сайте можно расширить. Примеры: "Сегодня", "1 день назад", "3 дн назад", "7 дней назад" и т.д. """ if not date_text: # если дата не найдена, считать как нестаревшую (или можно пропускать) return True t = date_text.strip().lower() if "сегодня" in t or t == "today": return True if "вчера" in t: return True if days >= 1 else False
# попытка распознать количество дней назад
m = re.search(r"(\d+)\s*(дн|дня|дней|нед|недели|дней назад)", t)
if m:
n = int(m.group(1))
# если указан недельный период
if "нед" in m.group(0):
delta_days = n * 7
else:
delta_days = n
return delta_days <= days
return True # по умолчанию считать недавно, чтобы не пропустить
def fetch_vacancies(days=7, max_pages=5): vacancies = [] for page in range(1, max_pages + 1): url = f"{BASE_URL}{VACANCIES_PATH}?page={page}" r = requests.get(url, headers=HEADERS, timeout=15) if r.status_code != 200: break soup = BeautifulSoup(r.text, "html.parser") cards = soup.select(SELECTOR_VACANCY_CARD) if not cards: break for card in cards: title_el = card.select_one(SELECTOR_TITLE) link_el = card.select_one(SELECTOR_LINK) or card.find("a") date_el = card.select_one(SELECTOR_DATE) or card.find(class_=re.compile(r"date", re.I))
if not title_el or not link_el:
continue
title = title_el.get_text(strip=True)
link = link_el.get("href")
if not link:
continue
if not link.startswith("http"):
link = BASE_URL.rstrip("/") + "/" + link.lstrip("/")
date_text = date_el.get_text(strip=True) if date_el else ""
recent = is_recent(date_text, days) if date_text else True
if recent:
vacancy_id = None
# Попробуем извлечь код из URL или data-атрибутов
m = re.search(r"/(\d{4,})", link)
if m:
vacancy_id = m.group(1)
vacancies.append({
"id": vacancy_id,
"title": title,
"url": link,
"date": date_text
})
return vacancies
if name == "main": vacs = fetch_vacancies(days=7, max_pages=5) for v in vacs: print(v["id"], v["title"], v["url"])
Что важно учесть
- Вам нужно заменить BASE_URL, VACANCIES_PATH и селекторы под конкретный HTML Kadrout. Сделайте "Inspect Element" на страницу вакансий и выпишите фактические классы/структуру.
- Если сайт загружает данные динамически через JavaScript, обычный requests/BeautifulSoup не увидит вакансии. В таком случае применяем Selenium/Playwright или используем API, если есть официальный.
- Уточните точный URL раздела вакансий Kadrout, и я адаптирую селекторы под эту страницу и выдам готовый рабочий скрипт под вашу конкретную страницу.
Если хотите, отправьте:
- точный URL раздела вакансий Kadrout;
- пару примеров карточек вакансий (или копию HTML одной карточки);
- каковы точные названия элементов для: заголовка, ссылки, даты.
После этого я дам полностью адаптированный под ваш сайт рабочий скрипт и список вакансий за последнюю неделю с их кодами.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



