内容简介: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网页采集:解决网页分页与网址超链接问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。