我正在尝试解析this page!
string str2 ("<span class=\"time_rtq_ticker\"><span id=\"yfs_l10_usdsgd=x\">");
size_t found;
// different member versions of find in the same order as above:
found=sdata.find(str2);
if (found!=string::npos)
cout << "first 'needle' found at: " << int(found) << endl;
我得到“针”的位置后,我怎样才能获得货币汇率,我希望它在
之后停止解析对不起,我正在为我的一个小项目做这件事,不是商业性的,只是一些小型工作
答案 0 :(得分:3)
雅虎不为此提供网络服务吗?哪个更简单。检查一下:
答案 1 :(得分:2)
std::string.substr(pos,npos)
将为您提供std::string
来自pos {found
的情况)npos
。要找出长度,您可能需要查找字符串“&lt;” (下一个html标签的开头)并减去。
答案 2 :(得分:1)
我认为您应该使用Yahoo Finance提供的API,如@Adel Boutros所说,或者如果你想自己解析这样的事情,你至少应该使用一个完整的HTML解析器类。
有很多变化,但实质上,他们会阅读标签并为您提供数据内容 - 您只需要添加一些处理程序来捕获您感兴趣的标签。每个解析器的工作方式略有不同,并且具有不同的优点速度还是简单,但它们非常直接,而且会更稳定?而不是你在做什么。
这是关于选择C ++ HTML Parser的一个有趣的问题(但它看起来很不稳定)。就个人而言,我只是对python进行外部调用来解析它,或者制作一个java EXE,你可以调用它来解析下载的网页为你更有用的格式(我更喜欢python,但更多的人知道Java和它'我也会工作。)
https://stackoverflow.com/questions/489522/library-recommendation-c-html-parser