您的位置:首页 > 理论基础 > 计算机网络

HTTP协议、正则表达式、HTML,WEB数据采集基础

2013-03-13 00:29 288 查看
前几天在猪八戒威客网上看到这么一个开发任务。买家要求开发一款软件,能实时监视某彩票网上公布的时时彩的号码,并实时显示在软件界面上。一但发现某个号码组合出现,就提示用户。这个软件要怎么做呢,如果熟悉HTTP协议、正则表达式、HTML,很容易想到。当然,这个小任务并不怎么需要正则表达式、HTML知识。只需了解HTTP协议,通过向彩票网服务器GET请求网页,保存到缓冲区内,然后查找相关字符串即可。但如果是复杂点的检索呢?就需要正则表达式、HTML知识了。

这样来设想,我们想开发一款软件,能自动采集某网站上出现的所有Email邮箱地址,然后向这些邮箱发送垃圾邮件。该如何实现呢?我想,除了上述三点知识,还需要熟悉POP3协议吧。首先,根据网站主页URL,获取网站主页,用正则表达式搜索其中所有的URL地址和Email地址,URL地址就递归进去,Email地址就保存下来。多线程操作。同时对采集到的Email地址发送邮件。

这些用C++实现并不难,首先,通过HTTP协议连接WEB服务器,MFC已经封装了相关了类,可以直接使用。正则表达式库,C++11标准里已经集成,VS2010里就可用了。还有很多丰富的第三方类库还没有用呢。不过据说这种数据采集、数据挖掘的工作,用J***A更好做,J***A里已经有封装好了现成的庞大的类了。而C++是东拼西凑实现的。这也正是C++的特点,第三方类库丰富。

不能为了做这么一个WEB数据采集软件就转学J***A吧,既然C++能实现就上吧,能自己动手解决一切难题的程序员才是好程序员。

说起网络协议,真的有必要好好学习一下啊,虽然都是些概念性的东西,枯燥无味,但非常有意义,这也是基础啊!

不管ASP/JSP/PHP还是什么写的网页,都是基于HTTP通信的,掌握了HTTP协议,我们就能写出很多有意思的程序。纵使我连HTML都不懂,还是写出了某网站账号批量注册机。

协议是个底层的东西,在底层搞开发好处就在于很多东西都统一了,坏处就在于难度大了,复杂性强了。HTTP协议也是基于TCP的,你甚至可以连HTTP协议都不看,直接基于TCP,用send和recev和WEB服务器通信,只是那样会更麻烦罢了。

放眼望去,国内IT届,大部分人都去做应用开发、WEB开发了。搞内核、驱动、底层的人太少了。目前正是缺这种人才。

坚持做底层!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐