我正在为我的算法类编写一个程序,该程序应该能够遍历网页,找到一个随机地址,然后使用浏览器扩展(Firefox / Chrome),它应该进行谷歌地图搜索地址。我只是想到可能尝试使用扩展来捕获文本并将其放入文本文件然后让我的程序读取该文本文件将是一个好主意,但我不知道如何实现。< / p>
到目前为止我的代码(不用担心,在Window UI之后,它会变得更长。这只是一个测试控制台应用程序):
#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);
}
现在,我的代码接收一个地址并将其添加到“Mapof.it”网址的末尾,该网址基本上启动了GMaps搜索。
答案 0 :(得分:0)
看起来用户与您的C ++程序交互。它不需要与浏览器进度通信。
您可以从C ++程序发送http请求,获取响应文本,然后解析它。
首先,您尝试查找网站是否提供了返回json / xml格式的api url,因为json / xml更易于解析。例如,Google地图确实提供了api。
如果没有,请尝试使用正则表达式来解析html,或者找一些DOM句柄库来解析它。
如果您的结果文本无法从raw中提取,它会动态地通过JavaScript创建,您可以找到一些“无头浏览器”库来帮助您。
如果您需要一个完整的功能浏览器,请使用QT,它提供QtWebkit小部件。