Как искать информацию на сайте вручную без программирования
Что проверяют
Умеете ли вы исследовать источник данных до того, как писать код. Такой вопрос часто предваряет задачу на парсинг или интеграцию: сначала просят найти нужные сведения руками, а следом спрашивают, как вы автоматизируете то же самое на C#.
Как отвечать
Покажите порядок действий от простого к подробному:
- навигация и поиск по сайту: меню, встроенный поиск, карта сайта. Полный список страниц часто лежит в
/sitemap.xml, а путь к нему указан в/robots.txt; - поисковик с операторами:
site:example.com запросограничивает выдачу одним сайтом, кавычки ищут точную фразу,filetype:pdfнаходит документы. Так находятся страницы, до которых из меню не добраться; - поиск по странице:
Ctrl+Fищет по видимому тексту, а просмотр исходного кода (Ctrl+U) показывает HTML ровно в том виде, в каком он пришёл с сервера; - инструменты разработчика: вкладка Elements показывает DOM после работы скриптов, вкладка Network с фильтром Fetch/XHR показывает запросы, которыми страница подгружает данные. Часто там обнаруживается JSON-эндпоинт, и парсить HTML вообще не нужно;
- поиск по ответам: в панели Network есть поиск по заголовкам и телам ответов, по нему видно, в каком запросе пришло нужное значение.
Итог такого исследования и есть план для кода: если данные в исходном HTML, хватит HttpClient и парсера вроде AngleSharp или HtmlAgilityPack; если в JSON, достаточно HttpClient и System.Text.Json; если страница собирается скриптами, а API закрыт, понадобится браузерная автоматизация через Playwright или Selenium. Заодно стоит проверить условия использования сайта и ограничения в robots.txt.
Где спотыкаются
Смотрят только на отрендеренную страницу в Elements и потом удивляются, что HttpClient получает совсем другой HTML. Разница между исходным кодом и DOM после скриптов определяет весь выбор инструментов.
Сразу берутся за парсинг разметки, не открыв Network. Это лишняя работа, а селекторы по классам ломаются при каждом редизайне, тогда как JSON-ответ обычно стабильнее.
Отвечают общими словами про «анализ структуры» без единого конкретного приёма. Интервьюер ждёт операторы поиска, карту сайта и инструменты разработчика.