170 похожих чатов

Т.Е. одной командой не получится загрузить xml в строку?

1 ответов

8 просмотров

const unsigned MAX_N_MSG = 100; unsigned found = 1; std::vector< std::string > topics; for ( unsigned msg = 1; found > 0 && msg < MAX_N_MSG; msg += found ) { const char *BASE_URL = "http://rsdn.org"; const char *START_URL = "%s/Forum/MsgList.aspx?gid=84&start=%u&flat=1&rate=0&IsFAQ=0"; char url[1024]; std::snprintf( url, sizeof(url), START_URL, BASE_URL, msg ); auto response = cpr::Get(cpr::Url{ url }); CDocument doc; doc.parse(response.text.c_str()); CSelection c1 = doc.find("html>body>form#_ctl1>table#tbl>tbody>tr"); found = 0; out << "Found " << c1.nodeNum() << " forum threads." << std::endl; for (unsigned i = 1; i < c1.nodeNum() - 1; ++i) { auto& n = c1.nodeAt(i); auto fields = n.find("td"); // #tbl > tbody:nth - child(1) > tr:nth - child(5) > td:nth - child(2..) out << "\t< "; for (unsigned fld = 0; fld < fields.nodeNum(); ++fld) { auto& f = fields.nodeAt(fld); out << f.text() << ":"; } CSelection c2 = n.find("td>b>a"); if (c2.nodeNum()) { auto& a = c2.nodeAt(0); auto& href = a.attribute("href"); auto& topic_url = std::string(BASE_URL) + href; topics.push_back( topic_url ); out << " " << topic_url; } out << " >" << std::endl; ++found; } }

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

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Карта сайта