网页抓取实现机制(以查询特批号为例)
一、注册表增加IE邮件菜单
注册表文件内容:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\P09校验特批号]
@="http://10.74.xx.xx:xxxx/checktph.html"
二、抓取数据中间页面
Checktph.html 内容:
<Script>
Var address =external.menuArguments.document.all ('customerinfo$formAutoComprenhensive2007_editor_ADDRESS1').value;
Var date =external.menuArguments.document.all ('basicinfo$formAutoComprenhensive2007_editor_ISSUEDATE').value;
Var jbr = external.menuArguments.agentListDS.getValue ("STAFFCODE");
If (address. length>=15 && !isNaN(address)) {
Window. open ("http://10.74.xx.xx:xxxx/xxx/xxx/xxxx.do?address="+address+"&jbr="+jbr+"&date="+date,
"校验特批号","height=300,width=900,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
Window. Focus ();
} else {
alert("特批号不正确!");
}
</script>
关键点在于external.menuArguments.document.all ('xxxx').value;
三、处理结果展示页面
通过业务逻辑处理,将处理结果数据输出到展示页面,其内容为:
<TABLE width="783" border="0" align="center" cellPadding="0" cellSpacing="0">
<TR align="center"><td>特批号校验结果</td></TR>
<logic: equal property="count" value="0">
<TR class="hcicontent"><td class="hcihead"><font color="red"><strong>查不到相关的特批号!</strong></font></td></TR>
</logic: equal>
<logic:notEqual property="count" value="0">
<TR class="hcicontent"><td class="hcihead"><font color="red"><strong>特批号存在</strong></font>
<logic:notEqual property="count" value="3"><font color="red"><strong>,但其他信息不正确!</strong></font></logic:notEqual></td></TR>
<TR class="hcicontent"><td class="hcihead"><font color="blue"><strong>特批号名:<bean: write property="name" /></strong></font></td></TR>
<TR class="hcicontent"><td class="hcihead"><font color="blue"><strong>特批号起期:<bean: write property="start" /></strong></font></td></TR>
<TR class="hcicontent"><td class="hcihead"><font color="blue"><strong>特批号止期:<bean: write property="end" /></strong></font></td></TR>
</logic:notEqual>
<logic: equal property="count" value="2">
<TR class="hcicontent"><td class="hcihead">
<font color="red"><strong>错误信息:<bean: write property="date" />不在有效期内。</strong></font></td></TR>
</logic: equal>
<logic: equal property="count" value="1">
<TR class="hcicontent"><td class="hcihead">
<font color="red"><strong>错误信息:部门不匹配。</strong></font></td></TR>
</logic: equal>
<logic: equal property="count" value="4">
<TR class="hcicontent"><td class="hcihead">
<font color="red"><strong>错误信息:特批号不是有效状态。</strong></font></td></TR>
</logic: equal>
</ TABLE >