Как написать пул потоков для скрапинга слов с веб страниц?
Доброго дня.
С помощью cpr.h и libxml2.h получаю ссылки со страницы:
xmlNodePtr url_html_link = xmlXPathEvalExpression((xmlChar*)"//a", context)->nodesetval->nodeTab[0];
std::string url = std::string(reinterpret_cast(xmlGetProp(url_html_link, (xmlChar*)"href")));
И потом в пуле потоков по этим ссылкам нужно получить следующие ссылки.
Как реализовать? Скиньте ссылку на какой-нибудь похожий пример.
Спасибо!
Wataru, как оказалось со скачиванием. В html "href" означает вообще все ссылки, а их оказалось много). Внутренние, относительные, якоря и т.д. А нужны только URI. При ссылке на другие curl cpr.h выдает null
cpr::Response response = cpr::Get(cpr::Url{ link }, headers);
и соответственно завершение программы.
К тому же cpr::Get() работает только с адресом полностью из английских букв.
А если адрес имеет русские слова, например https://ru.wikipedia.org/wiki/Заглавная_страница то ошибка. Что в таких случаях делать?
В общем как правильно выбирать ссылки только на сайты и другие страницы используя библиотеку libxml2.h
std::string url = std::string(reinterpret_cast(xmlGetProp(url_html_link, (xmlChar*)"href")));?
Кто подскажет + в карму!
или лучше новую тему начать?