Какова реализация или советы по реализации чтения и поиск информации с сайта на c++ (Парсер)?

Идея такова, вводим адрес читаем код страницы, выбираем информацию со страницы допустим ссылки составляем грубо говоря карту и так далее, допустим нужно стартануть с одного сайта собрать все ссылки с него и картинки, и по всем ссылка собрать так-же ссылки и картинки и так пока не скажем стоп.

Интересует реализация чтение html , советы по выборке от туда ( так как некоторые ссылки могут быть скриптами или css (можно отфильтровать по окончанию)), ну и если идеи как реализовать всему этому еще и многопоточность.

Идея создать универсальный парсер который начинается ссылки и расползается собирая информацию в тхт по маске
  • Вопрос задан
  • 444 просмотра
Решения вопроса 1
@nirvimel
  1. Закачка страниц из сети при помощи libcurl.
  2. Разбор страниц в DOM при помощи libxml2 (или libxml++).
  3. Выборка интересующих элементов (ссылки, картинки, и.т.д.) при помощи XPath запросов к DOM.
  4. Многопоточность: заброс новых ссылок в общую очередь + пул потоков, выбирающих себе задания из этой очереди и отрабатывающих по пунктам 1, 2, 3.

так как некоторые ссылки могут быть скриптами или css

С этим нет никакой проблемы. XPath //a выбирет только реальные ссылки на страницы, по которым возможно перейти.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы