1、实际需求
         EMS邮件的自动分拣,要分拣首先需要获取邮件的面单号和邮寄地址,现在我们的快递一般都有纸质面单的,如果是直接使用图像识别技术从纸质面单中获取信息,这个开发的成本和实时性都很难保证,获取信息之后还要分别处理,出口件要分到全国的对应地区,进口件要分到所在地区的各个小区。所以要提前获取面单号和邮寄地址两个关键信息,处理完之后,直接把面单号和地址信息传给分拣设备。
 
2、客观情况
          邮政系统有自己的内网,办公系统,有查询的页面,暂时没有提供相关的接口开发,看来只能通过爬虫的相关技术获取这些关键信息了。
 
3、WPF_CefSharp
         比较了解C#,这次准备用WPF来开发,之前用CefSharp做过一些混合开发,Html来做页面,后台用C#,可以访问一些本地资源,觉得这种组合比较适合我。
         看到这个需求,首先就是想到了用CefSharp来访问他们的内网系统,然后写JS来自动实现浏览页面,嵌入自定义的 funciton,访问后台的C#代码,保存需要的信息。
 
4、具体实现
      使用 CefSharp 的Browser.RegisterJsObject 注册自定义的 funciton ,这个一步是整个爬虫的重中之重,这样之后,就相当于可以控制浏览器的访问逻辑了,可以按照我们自己的设计流程来运行,这里面到底是如何运用和能发挥的能量,只取决于你的想象力。
   
1)注册自定义 function
     

 
2) 可以在 JS中访问的后台C#代码
 
3)JS中调用自定义funciton
 
5、总结
    整个过程中的关键环节是要让爬取的那个页面能访问到后台C#代码,CefSharp在爬虫中就相当于航空母舰级别的存在,是一个重量级的武器,可以不用自己写正则获取数据,它已经帮你解析好了,只用写JS脚本就可以了。

WPF CefSharp 爬虫的更多相关文章

  1. wpf CefSharp 与 js交互

    原文:wpf CefSharp 与 js交互 通过 NuGet 获取 CefSharp.WpF 组件.  xmlns:cefSharp="clr-namespace:CefSharp.Wpf ...

  2. CefSharp For WPF基本使用

    原文:CefSharp For WPF基本使用 Nuget引用 CefSharp.Wpf CefSharp.Common cef.redist.x64 cef.redist.x86 直接搜索安装Cef ...

  3. [解决]WPF 在 win7 系统无法运行:FileNotFoundException

    开发环境:VS2015 + .NET 4.6.2 开发项目1:WPF + CefSharp 开发项目2:WPF 情况:两个项目编译的程序都无法在客户环境的 win7上运行,事件查看器中如下日志: Th ...

  4. Display HTML in WPF and CefSharp

    https://www.codeproject.com/articles/881315/display-html-in-wpf-and-cefsharp-tutorial-part Download ...

  5. 在WPF中使用CefSharp嵌入浏览器

    日常开发中,我们需要将一些Web页面嵌入到桌面客户端软件中.下面我们使用CefSharp嵌入浏览器来实现. 首先先介绍一下CefSharp嵌入式浏览器,它是基于Google浏览器的一个组件,我们可以在 ...

  6. WPF使用cefsharp

    最近在公司项目上会用到cefsharp.wpf,不知道为什么按照网上的配置一直无法运行成功,怎么配置可以参考以下这篇博文: http://www.cnblogs.com/TianFang/p/4573 ...

  7. 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)

    首先,本文所有 代码已经提交到github,需要的可以直接从github获取:https://github.com/starts2000/CefSharp,希望可以帮助到有需要的朋友们. CEF 简介 ...

  8. WPF使用CefSharp嵌入网页

    1.点击项目应用下的管理NuGet程序包 2.在浏览中输入cefsharp-->查找 CefSharp.Wpf-->点击安装,等待安装完成 3.如果遇到一下问题将解决方案和项目都改成64位 ...

  9. WPF 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项

    1.检查代码不存在问题,最后找到问题,Nut管理包没有安装CefSharp.wpf. 2.安装对应的版本即可.

随机推荐

  1. Podman 使用指南

    原文链接:Podman 使用指南 Podman 原来是 CRI-O 项目的一部分,后来被分离成一个单独的项目叫 libpod.Podman 的使用体验和 Docker 类似,不同的是 Podman 没 ...

  2. PHP array_fill_keys

    1.函数的作用:将一个数组的元素分别作为键值和一个指定的值组成新的数组: 2.函数的参数: @params array  $array @params mixed $values 3.例子: < ...

  3. composer依赖管理与laravel框架安装

    步骤有点多,生怕哪一天忘记,记录下来会好点 laravel安装有两种途径:1.直接在一些国内第三方网站,如:https://www.golaravel.com/download/ 下载压缩包来解压即可 ...

  4. ESP8266开发之旅 网络篇⑮ DNSServer——真正的域名服务

    1. 前言     Arduino for esp8266中有两个DNS服务相关的库: ESP8266mDNS库 这个库是mDNS库,使用这个库的时候ESP8266可以在AP模式或是以STA模式接入局 ...

  5. vue系列文章 --- 源码目录结构整理(三)

    vue的版本是:^2.6.10 结构如下: |----- vue | |--- dist # 打包之后的目录vue文件 | | |--- vue.common.dev.js | | |--- vue. ...

  6. The usage of Markdown---链接的使用

    目录 1. 序言 2. 网页链接 3. 图片链接 4. 页内跳转 更新时间:2019.09.14 1. 序言   在编辑文章的时候,我们常常需要插入各种链接,比如说网页链接,图片链接等等.当文章篇幅过 ...

  7. HTTP 结构详解

    转至 :https://blog.csdn.net/u010256388/article/details/68491509?utm_source=copy   引用 学习Web开发不好好学习HTTP报 ...

  8. 服务器配置:ECS+Nginx+uWSGI+Flask——各部分详细介绍

    希望在阿里云ECS上搭建一个flask框架的web应用,经典的形式便是flask+uWSGI+nginx模式 服务器:CentOS 7.3 python版本:3.8.0 先贴一张全局图,这张图很清楚的 ...

  9. Windows 10 + kali Linux 双系统安装教程(详细版)

    准备工具如下: kali Linux 镜像 准备一4G以上的U盘 制作U盘启动盘工具- Win32DiskImager 添加引导工具-EasyBCD 留出一个空的盘,哪个盘的空间比较大可以压缩出大概2 ...

  10. .Net Core WebApi(三)在Linux服务器上部署

    鸽了好久,终于有个时间继续写了,继上一篇之后,又写(水)了一篇,有什么不足之处请大家指出,多谢各位了. 下面有两个需要用到的软件,putty和pscp,我已经上传到博客园了,下载请点击这里. 一.准备 ...