解决方案:基于Electon的图片采集工具是怎样的

优采云 发布时间: 2022-12-05 11:18

  解决方案:基于Electon的图片采集工具是怎样的

  什么是基于Electon的图片采集工具

  什么是基于Electon的图片采集工具?针对这个问题,本文章详细介绍了相应的分析和解答,希望能帮助更多想解决这个问题的朋友找到更简单易行的方法。

  该工具的界面如下。最上面是一些导出数据、提交到服务器的操作,还有一个输入网址的输入框。底部主要是爬取结果的展示区。

  技术架构:

  Electron+Nodejs

  1个

  实现思路:

  1.1 *敏*感*词*webview事件并注入js代码

  使用electron的webContents*敏*感*词*需要获取图片的网页。当网页加载完成后,触发'dom-ready'事件,然后在网页中注入JS代码。

  主要用到这个api:

  网页内容。executeJavaScript(代码[, userGesture, 回调])

  喜欢:

  赢。网页内容。on('dom-ready', () => {

  win.webContents.executeJavaScript(代码[,userGesture,回调])

  });

  1.2 遍历 HTML 中的图片 URL

  这里需要注意的是,有很多网站将图片写在background-image中,而不是使用img标签。所以它是两者的结合。

  获取所有 img 标签的图片:

  身体.图像

  获取background-image图片需要使用window.getComputedStyle通过css属性获取。

  window.getComputedStyle("元素","伪类");

  vardom=document.getElementById("test"),style=window.getComputedStyle(dom,":after");

  1.3 返回得到的结果

  electron注入webview的代码可以通过return返回,

  也可以在注入代码中写成:

  electron.remote.getGlobal('webWin').webContents.send('autoChat',res);

  在渲染过程中,通过:

  electron.ipcRenderer.on('autoChat',(e,result)=>{

  console.log(result,'ipc');

  });

  收到结果。

  2个

  

  一些经验:

  2.1 ES6模板字符串模板字符串

  Electron 支持 ES6,ES6 引入了一种新的字符串字面量语法,我们称之为模板字符串。

  变种代码=``;

  它们看起来像普通字符串,只是使用反引号字符 ` 代替普通字符串的引号 ' 或 "。在最简单的情况下,它们的行为与普通字符串相同:

  varcode="vardom=document.get..."

  与普通字符串不同,模板字符串可以写在多行上:

  变种代码=`

  var dom=文档...

  函数 getURL(){

  让 v=.....

  }

  `;

  很适合写注入的js代码~

  2.2 电子加密

  由于electron打包的程序是直接暴露源码的,所以在resources文件夹下的app文件夹下。

  我们可以在 asar 的帮助下加密我们的源代码

  全局安装:

  npm 安装-gasar

  将resources中的app文件夹打包为app.asar

  asarpack./appapp.asar

  发现一个坑,asar加密的node_modules中有些库无法引用,所以我调整了打包方式,将node_modules和我的代码分开存放,例如

  ./js/

  ./page/index.html

  ./CSS/

  ./main.js

  ./node_modules/

  ./app/蜘蛛/js/

  ./应用程序/蜘蛛/CSS/

  ./app/spider/page/index.html

  ./app/node_modules/

  ./app/main.js

  将spider文件夹整体打包为一个spider.asar,所以需要在package.json中更改:

  “主要”:“./spider.asar/main.js”,

  

  可以正常引用node_modules中的库。

  3个

  基于图像的功能扩展

  图片抓取后,我们可以在图片的基础上做一些扩展功能。

  例如:

  3.1 将所有图片保存到本地

  遇到好素材网站,想一次性把所有图片都下载下来。可以使用这个功能。这个比较简单。使用 nodejs 库图像下载器下载所有 url。

  3.2 分析画面的主色调

  这里用到另外一个nodejs库,node-vibrant,可以提取图片的主要颜色和百分比。我们可以给bahance上近六个月的流行单品拍照,分析它们的颜色,做一个颜色趋势报告。

  3.3 图片库

  作为一名人工智能设计师,我最近在

  DIY一个人工智能设计师_v0.0.1

  图片库。这时候我们需要添加一个标签内容,就是自动识别图片的内容为图片的关键词,方便人工智能设计人员进行智能匹配。这里可以调用clarifai的图像识别api:

  安装

  //通过NPM安装clarifai SDK

  npm 安装 clarifai

  使用 clarifai 的 Node.js

  //初始化

  const Clarifai = require('clarifai');

  var app = 新的 Clarifai。应用程序(

  'xxxxxG1MIAGH9RRJ4YSV410paPZWhfTpOeerEb',

  'KFxxxxxbAwo8aIZ3SRAJO0IJq-CtLQUj9Ph7mt' );

  确认

  //通过上传图片的url,识别图片的内容

  app.models.predict(Clarifai.GENERAL_MODEL,

  '#39;).然后(

  功能(响应){

  安慰。日志(响应);

  },函数(错误){

  安慰。错误(错误);

  });

  上图中的标签部分可以看到识别效果,我是通过这个api自动进行标签的。

  关于什么是基于 Electon 的图像 采集 工具的问题的答案在这里分享。希望以上内容能够对大家有所帮助。如果您还有很多疑惑没有解决,可以关注茶卡编程网行业资讯频道,了解更多相关知识。

  解决方案:百度优化常用工具介绍

  seoer每天要做的事情很多,写原创,做外链,做图片。每天的事情很多,所以经常使用一些seo工具可以为平时的工作节省时间,在一定程度上甚至可以对网站优化或者网站排名产生直接的影响。作者是国内企业网站,主要做百度优化。下面我将介绍一些常用的百度优化工具:

  1. 网站收录和反链查询工具

  主要有网站站长之家和爱站网及站长帮手网。其中站长之家和爱站用得比较多。如果要查看一个网站的数据,建议两者结合使用。站长之家的数据不全,但是爱站的数据可以看很多天。爱站的缺点是网站的数据更新不够及时,但也是站长工具的首选。

  2. 网站死链接和好友链接检测

  

  本站长之家和爱站都有这个工具,包括百度站长工具也有这个功能,但是根据笔者的经验,百度站长工具响应比较慢,功能有待完善。站长之家是首选,因为站长之家的数据比较准确,反应也快。

  3. 网站好友链接检测

  如果你想成为一个勤奋的站长,每天检查你的朋友链接是很有必要的。无论是购买的友链还是交换的友链,都应该实时查看网站是否有友链被K或者网站被关闭,被别人偷偷移除你的好友链接等,包括js代码,noflow标签等,这些都是站长工具要检测的。站长之家和爱站.com都有这个功能,而且显示的比较清楚,包括网站的地址,对方网站的关键词,还有noffolw标签。

  4.浏览器插件

  

  关于浏览器插件的问题,我想在这里强调一下,因为很多站长不习惯使用插件。其实用好浏览器插件可以直接节省很多时间。

  1.360浏览器。有两个网站管理员工具。打开360浏览器,点击展开中心,然后点击所有分类,有一个网站信息插件,这个工具即时显示网站Google PR值和Alexa排名信息,为我们查看网站PR值和alexa数据节省了大量时间,直接展示,无需使用站长工具查看。还有一个站长工具插件,其功能包括1)网站排名、收录、反链接等信息查询;2) 网站关键词排名;3)域名Whois查询;4)域名备案信息查询;5)网站安全检测功能,可检测网站漏洞、木马、篡改等信息。这两个插件是我用的比较多的,

  2.360 快速浏览器和谷歌浏览器。其实360极速浏览器就是谷歌浏览器,但是被360改了,其实就是谷歌浏览器。在这里笔者首先推荐一款在国内叫seo的插件。本插件可以直接显示网站体重、PR、alexa、网站备案、服务器地址、域名年龄、网站友情链接等多项数据,一应俱全可以马上反映出来。最强大的seo插件。

  如果在国内做SEO,基本上就是做百度排名,所以了解这些国内常用的SEO工具是很有必要的。首先,它节省了时间。第二,方便快捷,很大程度上可以让我们有更多的SEO工具,有更多的时间去做其他的事情,不用苦力做coolie seo。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线