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

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

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

功能列表:

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.

网页数据提取----网络投票软件开发相关推荐

  1. 数据自治开放的软件开发和运行环境

    数据自治开放的软件开发和运行环境 吴毅坚1,2, 陈士壮1,2, 葛佳丽1,2, 赵文耘1,2 1. 复旦大学计算机科学技术学院,上海 201203 2. 上海市数据科学重点实验室,上海 201203 ...

  2. 《现代信息技术与学科整合,网络多媒体教学软件开发研究

    现代信息技术与学科教学整合.网络多媒体教学软件开发研究课 题 研 究 方 案重庆市巴蜀小学课题组 一.课题缘由 1.理论依据 早在公元前6世纪,<学记>就指出:"能博喻然后能为师 ...

  3. python如何爬虫网页数据-python网络爬虫爬取网页内容

    1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...

  4. labview自动生成html,使用LabVIEW实现网页数据提取及交互.pptx

    使用 LabVIEW 控制IE或WebBrowser实现网页数据的提取和交互 By GSD:attraction - 张生斌 2013.1.1 1 可能会遇到的问题 网页能否被程序控制,程序和网页如何 ...

  5. qq软件/可ck提取_从事软件开发工作(即不要成为d1ck!)

    qq软件/可ck提取 多年以来,我逐渐意识到词典在软件开发(以及整个生活)中的重要性. 这可能意味着15分钟的会议(所有人都点头)与为时一天的自负之战(特别是当您的房间里充满热情的人)之间的区别. 这 ...

  6. c语言编程网页数据提取,怎么用c语言抓取网页中的数据

    当前位置:我的异常网» C语言 » 怎么用c语言抓取网页中的数据 怎么用c语言抓取网页中的数据 www.myexceptions.net  网友分享于:2013-07-17  浏览:390次 如何用c ...

  7. 怎么批量提取网站中的内容-免费网页数据提取软件

    如何从网站中提取内容并将其保存为文本?单击并拖动选择要提取的网页上的文本,然后按"Ctrl-C"复制文本.打开文本编辑器或文档程序,然后按"Ctrl-V"将网页 ...

  8. java爬取网页数据_Python网络爬虫实战(二)数据解析

    Python网络爬虫实战 (二)数据解析 本系列从零开始阐述如何编写Python网络爬虫,以及网络爬虫中容易遇到的问题,比如具有反爬,加密的网站,还有爬虫拿不到数据,以及登录验证等问题,会伴随大量网站 ...

  9. 安卓Webview缓存网页数据(无网络正常显示)

    热度 1已有 52 次阅读2016-8-26 17:53 |个人分类:常见问题|系统分类:移动开发 一.需求经历 最近的项目是一个原生 +webview 显示的 APP,一开始的时候,网站那边要求我们 ...

  10. 通过网络学习软件开发(1) (转本论坛)

    为了准备写AJAX的书,我又开始了新一轮的搜索工作.这样的工作我现在是越来越熟练了 突然想到,关于借助网络自学这件事情,我还是挺有发言权的,今天就写写这个吧. 一.资源 1.搜索引擎,仅有Google ...

最新文章

  1. 跟我学PPStream局域网共享
  2. 《你的灯亮着吗》读书笔记3
  3. WeeklyBlogging_20100722
  4. Forever +nginx部署Node站点
  5. Oracle数据类型(转)
  6. SpringMVC处理自定义异常,通过读取配置文件把错误信息显示在前台页面
  7. wxWidgets:wxStopWatch类用法
  8. 欢乐纪中某A组赛【2019.7.9】
  9. 主成分分析(PCA)和基于核函数的主成分分析(KPCA)入门
  10. 学习Spring Boot:(五)使用 devtools热部署
  11. 【Elasticsearch】所有可用 Qbox 插件的概述:第二部分
  12. 机器学习算法基础7-计算范围内素数的五种算法
  13. dump文件导入表修复工具——Imports Fixer
  14. Ubuntu安装teamviewer12
  15. oa工作任务管理系统设计
  16. org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locke
  17. html用bmob做留言,Bmob 之 简单使用
  18. 同时下载多个文件,同时展示多个文件的下载进度
  19. 2019软件测试都学习什么?
  20. 基于PaddleGAN项目人脸表情动作迁移学习(五)图像补帧上色与超分修复

热门文章

  1. 计算机cpu性能过剩吗,都说CPU性能过剩,为什么电脑还有卡顿的情况?原来是它在拖后腿!...
  2. C-COT目标跟踪代码下载运行
  3. java 数字转英文_Java如何将数字转成英文
  4. 厉害!他33岁破格晋升教授和博导,成果还打破国外技术垄断
  5. ORACLE-检查约束(check)
  6. 南京师范计算机科学研究生分数线,2020南京师范大学考研复试分数线已公布
  7. 深度linux15.4安装教程,国产操作系统深度Deepin15.5安装过程体验!
  8. 数字图像处理编程入门
  9. win10 excel编辑无响应问题解决方法
  10. 十个你必须知道的ps技巧