解决方案:基于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。