Загрузка данных
Ты работаешь с аналогичным проектом:
/home/sigma.sbrf.ru@23865613/home/work/hr-resume-scrapper-master
Задача:
Не анализировать весь проект целиком. Нужно найти только то, как в этом проекте реализовано открытие страницы/браузера/файла и получение данных.
Важно:
- Ничего не меняй.
- Ничего не удаляй.
- Ничего не запускай на изменение данных.
- Не скачивай зависимости.
- Не запускай полный сбор резюме.
- Только читай файлы и анализируй код.
- Не настаивай заранее на Playwright. Просто найди фактическую реализацию в коде.
- Все выводы подтверждай конкретными файлами, функциями и строками/фрагментами кода.
- Если чего-то нет — прямо пиши “не найдено”.
Нужно проверить файлы:
1. run_scraper.py
2. scripts/scrape_resumes.py
3. scripts/pdf_to_markdown.py
4. hr_resume_scraper.yaml.example
5. README.md
6. SKILL.md
Главный вопрос:
Как именно проект открывает страницу/браузер/файл и получает данные?
Найди и опиши:
1. Где точка входа
- Какой файл запускается первым.
- Какая функция стартует процесс.
- Как из run_scraper.py вызывается основная логика.
2. Как читается конфиг
- Как называется конфиг.
- Где он ищется.
- Какие параметры из него берутся для открытия браузера или файлов.
- Где задаётся browser.type.
- Где задаётся path_to_exe.
- Где задаётся headless.
- Где задаётся slow_mo.
- Где задаются timeout/retry/delay.
3. Как читается входной файл
- Как называется файл со ссылками.
- Какая функция его читает.
- Какой формат строк поддерживается.
- Как из строки достаётся имя и URL.
4. Как открывается браузер или страница
Найди конкретные места в коде, где есть:
- запуск браузера;
- открытие новой страницы;
- переход по URL;
- ожидание загрузки;
- получение содержимого страницы;
- клик по кнопке;
- скачивание файла.
Проверь наличие таких вызовов:
- sync_playwright
- chromium.launch
- executable_path
- new_context
- new_page
- page.goto
- wait_for_selector
- locator
- click
- expect_download
- download.save_as
- page.content
Если они есть — покажи файл, функцию и фрагмент кода.
Если чего-то нет — напиши “не найдено”.
5. Как подключается SberBrowser
- Есть ли browser.type = sberbrowser.
- Где используется path_to_exe.
- Передаётся ли executable_path.
- Есть ли специальные args для запуска браузера:
--no-sandbox
--disable-setuid-sandbox
--disable-dev-shm-usage
- Можно ли использовать найденный системный путь:
/opt/Sberbrowser/sberbrowser/sberbrowser
6. Как проект получает файл/данные
- Он получает HTML?
- Он скачивает PDF?
- Он кликает по кнопке?
- Он ждёт download?
- Где сохраняет временный файл?
- Где потом читает этот файл?
7. Как устроена конвертация
- Какой файл отвечает за конвертацию.
- Что именно конвертируется: PDF, HTML или текст.
- Какая библиотека используется.
- Как создаётся итоговый Markdown.
8. Что нам нужно перенести в adt-markdownify-meta
Новый проект находится здесь:
/home/sigma.sbrf.ru@23865613/home/work/skil-scrap/adt-markdownify-meta
Нужно сказать конкретно:
- какую функцию из старого проекта можно повторить по смыслу для открытия браузера;
- какие настройки браузера стоит перенести;
- какие args стоит добавить;
- как лучше использовать SberBrowser;
- нужно ли в нашем проекте открывать страницу через браузер и брать page.content();
- нужно ли нам скачивание файла, как в старом проекте, или для META достаточно HTML/текста страницы.
Формат ответа:
# Как в hr-resume-scrapper реализовано открытие страницы/браузера/файла
## 1. Точка входа
## 2. Чтение конфига
## 3. Чтение входных ссылок
## 4. Запуск браузера
## 5. Открытие страницы
## 6. Получение данных или скачивание файла
## 7. Конвертация в Markdown
## 8. Что можно перенести в adt-markdownify-meta
## 9. Главный вывод
В главном выводе коротко ответь:
- старый проект открывает страницу через что именно;
- нужен ли там API;
- что именно нужно повторить в новом проекте для META.