WPF CefSharp 爬虫

一、实际需求
             EMS邮件的自动分拣,要分拣首先须要获取邮件的面单号和邮寄地址,如今咱们的快递通常都有纸质面单的,若是是直接使用图像识别技术从纸质面单中获取信息,这个开发的成本和实时性都很难保证,获取信息以后还要分别处理,出口件要分到全国的对应地区,进口件要分到所在地区的各个小区。因此要提早获取面单号和邮寄地址两个关键信息,处理完以后,直接把面单号和地址信息传给分拣设备。
 
二、客观状况
             邮政系统有本身的内网,办公系统,有查询的页面,暂时没有提供相关的接口开发,看来只能经过爬虫的相关技术获取这些关键信息了。
 
三、CefSharp(WPF)
             比较了解C#,此次准备用WPF来开发,以前用CefSharp作过一些混合开发,Html来作页面,后台用C#,能够访问一些本地资源,以为这种组合比较适合我。看到这个需求,首先就是想到了用CefSharp来访问他们的内网系统,而后写JS来自动实现浏览页面,嵌入自定义的 funciton,访问后台的C#代码,保存须要的信息。
 
四、具体实现
             使用 CefSharp 的Browser.RegisterJsObject 注册自定义的 funciton ,这个一步是整个爬虫的重中之重,这样以后,就至关于能够控制浏览器的访问逻辑了,能够按照咱们本身的设计流程来运行,这里面究竟是如何运用和能发挥的能量,只取决于你的想象力。
   
1)注册自定义 function
 
2) 能够在 JS中访问的后台C#代码
 
3)JS中调用自定义funciton
 
 
五、总结
               整个过程当中的关键环节是要让爬取的那个页面能访问到后台C#代码,CefSharp在爬虫中就至关于航空母舰级别的存在,是一个重量级的武器,能够不用本身写正则获取数据,它已经帮你解析好了,只用写JS脚本就能够了。
相关文章
相关标签/搜索