在html源代码中查找特定字符串

时间:2014-06-12 22:52:22

标签: html c++ string

我的目标是在我使用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经验的人是否知道我缺少什么或者如何让它工作?

1 个答案:

答案 0 :(得分:0)

据我所知,字符串搜索代码没有任何问题,问题是我们并不确切知道你在搜索什么。

由于纯HTML可以包含特殊字符(例如&#34;&quot;,因此您可能要查找的字符串应该处理这些字符。此外,字符串可以包含换行符和html标记(例如单个单词中的<b></b>,并且应在搜索字符串中指定它们,因为string::find会查找完全匹配(包括任何换行符)。

另外,我建议您调试代码,看看网站的文本/代码是否实际加载到str2

查看给出的信息,这是目前唯一可以解释为什么代码不起作用的问题。