网页数据提取----网络投票软件开发

这是一个很早就设想的项目,一直没有付诸实现。前几天从网上接了一个小项目,和 网页数据提取有些关系,就顺便开发了这方面的功能。

项目有几个步骤,从简单到复杂一步步实现。现从简单的开始吧。

说简单,就简单。不考虑模式问题,不考虑性能问题,不考虑多线程问题,采用传统的编程方式,想到功能就加上去,优化的问题以后考虑吧,当然要冒着整个项目被推翻的风险。

功能列表:

1。读取网页: 必须实现的功能,否则就没有操作的基础数据。网页数据类型包括:html, xml, asp, aspx, image, script等。读取方法很多种,比如WebBrowser控件,WinSock控件等。

2。网页数据解析:对上一步读取的数据再加工和检索,找到需要数据。这一步操作挺麻烦的,因为我们面对的数据结构五法八门。可以使用WebBrowser的Document访问节点;也可以使用mshtml中的HTMLDocumentClass类;直接读取数据,采用文本分析方法也行,效率低一些,如果用正则表达式,效率会提升不少。上面的数据分析方法我都用过,根据处理的数据类型决定。

上面两步是初级部分,实用功能建立在上述结果的基础上。

3。添加实用功能:

1) 网页中link, button点击:模拟用户的操作,点击网页中的链接。在WebBroswer或mshtml中很容易实现点击动作。注意要实现相关事件回调,比如Completed,Navigating等。

WebBrowser --> Document --> DomDocument --> HTML Element --> Click

要找到相应的控件可以使用name, class id, href,submit等属性在控件集中过滤。

2)网页中数据填充: 数据填充一般发生在textbox控件,通过name能定位到控件,把待填充值赋给其value属性。

3)验证码识别:这一个牵涉到很多知识的话题,我会在另一篇文章中论述之, 在这里我们举个简单的例子,如,复杂一点的如, (声明:验证码图片是从网上提取的,网站名不记得了,如发现侵权,请立即联系lichunlin.sh@gmail.com或QQ:624286399,立即删除图片)。

4)网络问题:有很多朋友喜欢使用代理服务器上网,代理服务器功能必不可少。使用静态地址的朋友可以考虑IP地址不断变化,动态IP地址功能也加进来吧,也不怎么难实现。两者功能实现技术可以使用Sock, DCHP, WMI等,我用的是WMI.

5)网页过滤:网页过滤主要是处理IE和网页中script弹出的对话框。挺烦的,用户交互模式使用IE还行,在工具中不能人工干预,不能打断工具运行,一定要去掉。这是个技术难点,好在我已经解决了这个问题。关键是要解决UI Handler的问题。

在实际开发中还用到了其他的技术,今天先说到这里,以后详谈。

如果需要开发类似软件可以联系lichunlin.sh@gmail.com, QQ:624286399,MSN: li.chunlin_sh@hotmail.com.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值