内容简介:MFC网页分析程序
开发一个网页分析程序,可以抓取特定网页的内容,加以分析之后将结果保存之数据库。
插播一段闲话:
毕设告一段落,真的要毕业啦。 毕设期间,感觉自己学到了不少Android开发的基本东西,但我都不敢写文章发上来。因为在paperfree查重时显示,我抄袭了一篇文章: 来源:互联网资源 标题:**************(具体文章名就匿了) - 胡博靖的技术博客 还有比这更惨的事情吗?说我抄袭了自己的文章[哭泣] 最终知网查重率1.3%,毕设顺利完成,挺开心的,虽然编程过程遇到了很多的难题,好在大都解决了。导师人也很好,给人感觉是才华横溢的学者型,交材料时我们聊了聊各自毕业的场景,他祝贺我们毕业时,感觉真的就到了离开学校的时候,时光飞逝啊。
—————————————————————–闲话分割线———————————————————————
网页分析程序具体要求描述如下:
1.使用http技术获取一个博客的首页 http://blog.csdn.net/jiangsheng
2.分析这个网页的内容,从中找到博客中每一篇文章的链接。
3.通过这些链接,获取文章的正文网页,从内容中提取文章的标题和文章的内容。
4.将文章的标题与内容分别保存至数据库。
5.布局要求:提供一个列表框和一个多行文本框。列表框中显示从数据库中获取的文章标题列表;当点击列表框中的某一篇文章时,在文本框中显示该文章的内容。
首先实现获取网页源码的功能:
void CGetWebDlg::OnGetweb()
{
//TODO:Add your control notification handler code here
CInternetSession session;
CHttpFile *file = NULL;
CString strURL = "http://blog.csdn.net/jiangsheng";
CString strHtml = _T(""); //存放网页数据
try
{
file =(CHttpFile*)session.OpenURL(strURL);
}
catch(CInternetException *m_pException)
{
file = NULL;
m_pException->m_dwError;
m_pException->Delete();
session.Close();
MessageBox("网络连接错误","提示");
return;
}
CString strLine;
char sRecived[1024];
if (file != NULL)
{
while(file->ReadString((LPTSTR)sRecived,1024)!=NULL)
{
strHtml += sRecived;
}
}
else
{
AfxMessageBox(_T("失败!"));
}
session.Close();
file->Close();
delete file;
file = NULL;
ConvertUtf8ToGBK(strHtml);//源码转换
(this->GetDlgItem(IDC_EDITCONTENT))->SetWindowText(strHtml);
}
注意网页编码问题,因此需要格式转换,编写一个函数:
void ConvertUtf8ToGBK(CString &strUtf8)
{
int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0);
unsigned short * wszGBK = new unsigned short[len+1];
memset(wszGBK, 0, len * 2 + 2);
MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, (LPWSTR)wszGBK, len);
len = WideCharToMultiByte(CP_ACP, 0, (LPCWSTR)wszGBK, -1, NULL, 0, NULL, NULL);
char *szGBK=new char[len + 1];
memset(szGBK, 0, len + 1);
WideCharToMultiByte (CP_ACP, 0, (LPCWSTR)wszGBK, -1, szGBK, len, NULL,NULL);
strUtf8 = szGBK;
delete[] szGBK;
delete[] wszGBK;
}
有些类似网页爬虫的感觉。
为了接下来的操作,我去学正则表达式了……
P.S.虽然蒋晟CSDN不更新了,但最近看他在知乎上怼别人的唇枪舌战……可带劲了哈哈哈
以上所述就是小编给大家介绍的《MFC网页分析程序》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 微信h5网页跳转小程序方案
- 小程序登录、微信网页授权(Java版)
- W3techs 公布2018年度网页技术,Ruby 在服务器端程序语言成长最快
- 防止网页被其他网页iframe嵌套的思考与实现
- 响应式网页设计–css设置网页字体大小自适应
- R网页采集:解决网页分页与网址超链接问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
精通Windows应用开发
[美] Jesse Liberty Philip Japikse Jon Galloway / 苏宝龙 / 人民邮电出版社 / 59.00元
Windows 8.1的出现不仅提供了跨设备的用户体验,也提供了跨设备的开发体验。本书着眼于实际项目中所需要的特性,以及现有C#编程知识的运用,对如何最大限度地利用Metro、WinRT和Windows 8进行了讲解,内容详尽,注重理论学习与实践开发的配合。 Windows 8.1和WinRT的作用及其特殊性 如何使用先进特性创建具有沉浸感和吸引力的Windows 8.1应用 如......一起来看看 《精通Windows应用开发》 这本书的介绍吧!