2017-09-22 关于C++获取网页的一些心得
来源:互联网 发布:java环境搭建教程 编辑:程序博客网 时间:2024/05/21 17:07
因为个人关系,最近学习了怎样用C++代码获取网页源码,并通过处理字符串的方式获取自己想要的内容,不得不说那些封装好的类确实挺好用的。
为了写窗口方便我就用了MFC,emmm...发现以前用API写的我好傻哦。
C++获取网页我用的是CInternetSession和CHttpFile这两个来获取的,不说了,先上代码:
CInternetSession Session;CHttpFile *pHttpFile = NULL;pHttpFile = (CHttpFile*)Session.OpenURL(WebUrl);if (pHttpFile == NULL){Session.Close();return;}
不过在使用的时候要包括头文件<afxinet.h>这个头文件,短短这几句话就可以获得网页源码,很简单吧,这里的WebUrl是一个字符串,我用的是CString这个类,觉得挺好用的。这样获取后我是用
pHttpFile->ReadString(一个自定义的CString类)
这样一行一行的获取源码内容,然后通过处理字符串的形式来获取自己想要的信息,比如网页的title啊什么的,当然还要有一点html的基础,因为这样你才知道哪些地方会出现你不想要的标签什么的。当然我不清楚我这样做算不算对,毕竟是初学者,不过除了比较麻烦之外还是没有什么问题的。当然C++也有正则表达式,不过我不会真是遗憾,会的人做这个就简单很多吧,我也不清楚也没做过。
不过中间可能遇到很多坑,可能会遇到连接服务器超时,或者网址有问题啊什么鬼的,可能会抛出异常,所以加一句捕获异常更好一些,不然程序可能会在一个莫名其妙的时间退出。然后还有就是可能会因为获取网址服务器原因造成延时获取之后, 获取了一段不完整源码后退出然后啥也没有了的情况,反正我出现过,而且现在原因不明,还是我太菜了吧。
顺带一提,这里不用CHttpFile也可以,直接用CStdioFile也是没有毛病的,可以用ReadString,但是要注意的是CHttpFile提供了一些其他的方法,所以看你需要什么功能再看怎么使用,像我就只是获取源码看看就可以用CStdioFile, 当然OpenURL还有其他参数,具体的请多查阅资料了解。
- 2017-09-22 关于C++获取网页的一些心得
- 关于调试网页的一些心得
- 关于C#WinForm开发的一些心得
- 关于c语言的数据转换的一些心得!
- 关于C语言学习单片机的一些心得
- 关于QT的一些心得
- 关于一些activex的心得
- 关于RTX51tny的一些心得
- 关于HoG的一些心得
- 关于前端的一些心得
- 关于nfs的一些心得
- 关于uploadify的一些心得
- 关于STM32的一些心得
- 关于项目的一些心得
- 一些关于vue的心得
- 学习c的一些心得
- 关于网页模板切片的心得
- 关于初学网页制作的心得
- 侧拉菜单
- onenote for Mac 闪退问题
- AndroidStudio将html5打包成apk
- 购物车
- redis
- 2017-09-22 关于C++获取网页的一些心得
- 图片二次采样
- PTA 求链式线性表的倒数第K项(C语言实现)
- bzoj1264: [AHOI2006]基因匹配Match
- js serialize()
- sqlite
- asp.net---网站的动态交互
- Gym
- python字典保持有序