精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
2011年6月份承包此项目,定时监控A网站上内容,发现有新数据,解析数据,并发布到B网站上,使用C#开发。技术难点有:
1、PHP动态网页解析
使用DataWebBrowser控件加载后,用mshtml组件解析时,是根本看不到结果的标签的,只能看到PHP的代码。我们使用浏览器封装技术,找到了真正的DOM信息,保证了内容解析和标签定位。
2、提示窗口自动消除
窗口外观如下:
在有这样的窗口时,整个软件都会被模式化的阻塞住,不能再对浏览器进行控制,我们使用了消息技术解决了这样的问题,保证了操作的衔接。
3、框架保护内容解析
标签如果是在框架内时,IE的查看源文件,只能看到框架这一级的标签,框架内是看不到的,下面就是一个页面的内容演示:
<head> <!--<title>Welcome</title>--> <title>Welcome </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <frameset rows="*,0,0" frameborder="NO" border="0" framespacing="0"> <frame name="S" src="app/s/"> <frame name="S2" scrolling="NO" noresize > </frameset> <noframes> <body bgcolor="#FFFFFF" text="#000000"> </body> </noframes>
对于这样的困难,我们锐英源采用了状态判断和嵌套查询方法进行了解决。
4、复杂表格解析
本项目里涉及到4类表格的解析,遇到有表格行数不统一情况,单元格内嵌套表格情况,单元格内容为空
情况,单元格内有多块情况,多行数据成组情况。在实际处理里,非常麻烦。
5、多点数据填充提交
在对B网站进行数据发布时,要在B网站上进行2次确认才能提交数据,提交界面也要在驱动标签点击后才
能再现,处理起来异常麻烦。
6、交错标签保护内容解析
B网站上的网页有内容保护,把标签交错是一种保护机制,比如下面内容:
<TD><A title=1 href="http://" target=><FONT true>2.05</A></FONT> </TD>
把A和FONT进行了交错,在DreamWaver里会有出错的提示,在实际解析里也是有麻烦的。
7、动态内容解析
在实际处理时,遇到这样的一种情况,表格标题显示出来了,但是表格里面的内容行,没有显示出来。
在没有内容行时,解析表格肯定得不到结果,我们用定时器、状态判断和URL判断合理地解决了此问题,保证数据的
正常解析。