我的目标是在我使用c ++提取的特定网站的HTML源代码中找到预定义字符串,但我收到了一些错误。这是我到目前为止的源代码:
所以在我连接到互联网和网站后,我就拥有了这一切......
addr = InternetOpenUrl...
dmbp = char dmbp[5000]
dba = DWORD dba = 0
while (InternetReadFile(addr, dmbp, 80000, &dba) && dba)
{
string str2 = dmbp;
size_t sf1 = str2.find(string1);
if (sf1!=string::npos)
{printf("found");
// manipulate it...
}else{printf("not found");}
}
我的问题是,它从未真正确认它找到了我需要的值,它总是说没有找到值,但我甚至静态插入页面并看看自己,我可以看到我需要的值,它只是没有出现。有c ++提取html经验的人是否知道我缺少什么或者如何让它工作?
答案 0 :(得分:0)
据我所知,字符串搜索代码没有任何问题,问题是我们并不确切知道你在搜索什么。
由于纯HTML可以包含特殊字符(例如"
或"
,因此您可能要查找的字符串应该处理这些字符。此外,字符串可以包含换行符和html标记(例如单个单词中的<b></b>
,并且应在搜索字符串中指定它们,因为string::find
会查找完全匹配(包括任何换行符)。
另外,我建议您调试代码,看看网站的文本/代码是否实际加载到str2
。
查看给出的信息,这是目前唯一可以解释为什么代码不起作用的问题。