C++ 提取网页内容系列之三
标 题: C++ 提取网页内容系列
作 者: itdef
链 接: http://www.cnblogs.com/itdef/p/4171659.html
欢迎转帖 请保持文本完整并注明出处
这次继续下载网页后 对其中内容的分析
使用tr1(c++预备标准库)中的正则式
void ContentSearchMainRecommend(const string& content)
{
string text = content;
string regString( "首页大推','([^']*)'" );
string regSubString("<strong class=\"strong color_orange\">([^<]*)</strong>");
regex regExpress(regString);
regex regSubExpress(regSubString);
//string::size_type pos = content.find(strSearch);
smatch ms;
// 判断是否全行匹配
while(regex_search(text, ms, regExpress))
{
string strResult;
if(ms.size() == 2)
{
strResult = ms.str(1).c_str();
}
cout << "首页大推:\t" << strResult << "\t\t";
text = ms.suffix().str();
if(regex_search(text, ms, regSubExpress))
{
if(ms.size() == 2)
{
cout << ms.str(1).c_str() << endl;
}
}else
{
cout << "search substring error" << endl;
break;
}
}
return ;
}
正则式的内容 如果不熟悉的话可以参考网络上流传的<30分钟正则式入门>
但是对于450K的网页 使用正则式匹配似乎比直接搜索要慢上不少
// 待续
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
浙公网安备 33010602011771号