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

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

1 ответов

6 просмотров

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; } }

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта