Можно ли использовать расширение браузера, чтобы взять текст с веб-страницы и каким-то образом выбросить его в мою программу на С ++?

Я пишу программу для своего класса алгоритмов, которая должна проходить по веб-странице, находить случайный адрес, а затем, используя расширение браузера (Firefox / Chrome), должна выполнить поиск Google Maps по этому адресу. Я буквально просто подумал, что, возможно, попытка использовать расширение для захвата текста и помещения его в текстовый файл, а затем заставить мою программу читать этот текстовый файл, будет хорошей идеей, но я понятия не имею, как это будет реализовано.

Мой код пока (не волнуйтесь, после оконного интерфейса он станет длиннее. Это всего лишь тестовое консольное приложение):

#include <iostream>
#include <cstdlib>
#include <stdlib.h>
#include <windows.h>

using namespace std;int main ()
{
string address;

cout << "Please input address: ";
//cin >> address;
getline(cin, address);
//word_list = getRecursiveURLs(url, DEPTH)
//return cleaner(word_list)

//string address = "Houston, Tx ";
std::string str = "http://mapof.it/" + address;
//cout << mapSearch;
const char * c = str.c_str();

ShellExecute(NULL, "open", c, NULL, NULL, SW_SHOWNORMAL);
}

Прямо сейчас мой код берет адрес и добавляет его в конец URL-адреса «Mapof.it», который в основном инициирует поиск GMaps.

0

Решение

Похоже, что пользователь взаимодействует с вашей программой на C ++. Не нужно общаться с прогрессом браузера.

Вы можете отправить запрос http из программы на C ++, получить текст ответа и затем проанализировать его.

Во-первых, вы пытаетесь выяснить, есть ли на веб-сайте URL-адрес API, возвращающий формат json / xml, потому что анализировать json / xml проще. Например, Google Map предоставляет апи.

Если нет, попробуйте использовать регулярное выражение для анализа html или найдите некоторую библиотеку дескрипторов DOM, чтобы проанализировать ее с помощью DOM.

Если ваш результирующий текст не может быть извлечен из raw, он динамически создается с помощью JavaScript, вы можете найти библиотеку «безглавого браузера», которая вам поможет.

Если вам нужен полнофункциональный браузер, используйте QT, он предоставляет виджет QtWebkit.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]