在html源中查找特定字符串

Find a specific string in html source

本文关键字:字符串 查找 html      更新时间:2023-10-16

我的目标是在我使用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");}
}

我的问题是,它从来没有真正确认它找到了我需要的值,它总是说没有找到值,但我甚至静态地插入页面,看看我自己,我可以看到我需要的值,它只是没有出现。有经验的人在html提取与c++知道我错过了什么或我如何才能得到这个工作吗?

在我看来,字符串搜索代码没有什么问题,问题是我们不知道你在搜索什么。

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

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

查看给定的信息,这是目前我能想到的唯一问题,为什么你的代码不工作