摘要: 本项目涉及到的electron开发原理: 1 窗口管理 2 脚本注入 3 进程间通信 4 webcontents的使用 5 sqlite存储 6 多平台打包
内容
(一)背景
这篇文章讲解如何利用electron技术,模拟真人操作,来抓取高德地图Api数据的。利用electron强大的网页控制技术,通过绑定网页调试控制台,来解析在控制台出现的http请求和获取http响应。
利用electron技术解析控制台的http请求,这样做的好处是,
- 易用性:完全不用破解接口来获取密钥,只要将网页加载到electron窗口即可,
- 通用性:不仅是高德地图,只要是网页端并且数据通过接口返回,都能用这个方法。
- 易分发:将软件打包发给多人,每个人都可以在本地开展爬取任务。
欢迎访问我的electron课程网进一步沟通交流!
(二)electron爬虫神器操作演示
待上传
(三)electron能抓取哪些高德地图数据?
如下5个公开接口数据:
-
地理编码/逆地理编码 /service/regeo
-
搜索推荐列表 /service/poiTipsSearchlite
-
地点详细数据 /service/poiInfo
-
路线信息 /service/poiInfoPlan
-
天气预报/service/weather
(四)涉及的electron开发技术
1 窗口管理 新开窗口:操作页面发消息给后台,要求新开窗口。可以通过操作页面设置URL地址后,来控制新窗口的URL。
2 脚本注入 electron为保障系统按钮,让控制页面和后台无法直接调用方法,但是可以通过脚本注入的方法建立通信的桥梁,这样控制页面通过桥梁可以命令后台做一些事情。
3 进程间通信 控制页面和后台之间的通信,有4种通信方式:控制页面->后台、后台->控制页面、后台<->控制页面、控制页面A->控制页面B
4 网页内容控制 控制网页的元素,从而替代人工操作实行操作自动化。比如模拟人来输入、模拟人来点击按钮、模拟人来滑动页面等。
5 数据存储sqlite 遇到大数据本地存储,sqlite+prisma是一种很好的方案,形同于mysql+orm的形式存储数据在用户本地电脑。
6 打包发布 electronbuilding + githubaction的组合,轻松实现打包自由。