网页源代码抓取工具(Web转换成Macapp的安装nativefier.js的过程非常简单)
优采云 发布时间: 2022-02-01 15:04网页源代码抓取工具(Web转换成Macapp的安装nativefier.js的过程非常简单)
由于日常工作需要,需要接触很多外语资料,所以一个好的翻译工具是必不可少的。得益于谷歌在翻译方面的出色表现,将其作为我的主要翻译工具是无可争议的。但是在使用中,经常会发现web端的页面总是不小心被手刷关闭了,使用的时候要等一段时间才发现需要重新打开。
另外,如果你想在工作时间更好地“钓鱼”,使用电脑肯定会比使用手机更安全。
带着这两个需求,找了几款可以把web转成Mac app的工具,但是体验后发现会出现一些小问题,有的甚至无法使用或者生产app打不开.
直到我找到它——nativefier。
安装 nativefier
nativefier 是一款基于 Electron 的命令行工具,完全开源,无需 UI 界面,无需安装任何 app,只需通过简单的一行代码,即可轻松将任意网页打包成可在桌面,并支持在 Windows、Mac 甚至 Linux 系统上运行。
PS作者是在谷歌工作的软件工程师,貌似是中国人。
目前,nativefier 在 Github 上获得了 2.140,000 颗 Star。
使用 nativefier 的过程非常简单,但是需要提前做一些事情。这里我使用macOS作为演示,其他平台类似,大家可以参考网上其他教程。
首先,我们需要安装 Node.js。你可以通过官方的 Node.js 网站 下载来安装它,但我建议在这里使用 Homebrew,这样你就可以在一个终端应用程序中完成所有事情。
如果您没有安装 Homebrew,您可以使用以下命令从终端安装它。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
更多关于 Homebrew 的使用,可以参考这个文章。
安装 Homebrew 后,即可安装 Node.js。在终端输入:
brew install node
如果由于某些网络原因导致安装缓慢,可以尝试切换到国内镜像源。运行进度后,可以在终端输入 node -v 和 npm -v 测试版本。如果出现版本号,则安装成功。
使用 Node.js,我们可以安装 nativefier 本体。同样在终端中,输入以下命令:
npm install nativefier -g
如果提示不足,可以尝试在前面加sudo:
sudo npm install nativefier -g
把它做完。接下来,我们使用 nativefier 来制作一个应用程序。
利用
最简单的使用方法是使用 nativefier 并添加一个您需要转换到的 网站 地址。例如:
nativefier "https://www.sspai.com"
第一次运行会下载 Eletron 框架,可能会比较慢。
命令执行后会生成一个名为“-darwin-x64”的文件夹,大小约为120-150M。如果您不更改运行地址,它将默认出现在您的个人文件夹中。
点击进入文件夹,就可以看到刚刚制作的应用了。将应用程序拖到应用程序文件夹中,它将出现在 Lanchpad 中。
Mac 应用程序的网络打包少数派已准备就绪。
上面的方法会自动抓取网站的名字和Logo作为名字和app图标。但有时,nativefier也会“翻车”(比如上面的app名称显示为“-”),这时候我们就需要自定义app的名称了。您可以使用以下命令:
nativefier --name "在这里输入 app 名字" "http://www.sspai.com"
请注意,此应用名称不支持中文。如果要改中文的app名称,可以直接在nativefier制作的app上改,然后拖到app文件夹中即可。
但是,nativefier 有一个小缺陷:因为一些 网站 图标或 logo 不好看,或者太丑,分辨率太低,有时生成的 app 图标不理想。
这个问题其实是有解决办法的。nativefier提供了一个-icon参数,只要我们准备一张png格式的图片,就可以应用为图标。
如果你不太明白上面的意思,你也可以手动进行替换。提前准备好一个icns格式的图标,命名为“electron.icns”,然后在生成的app上右键“查看包内容”,进入“目录-资源”,替换我们里面准备的图标。原来的图标就可以了。
比如我用Sketch给Tinde和小特画了一个类似于macOS Catalina原生风格的高清图标,然后用Image2icon转换成icns格式。更换后,就没有那么强的“像素风”了。感觉也减少了很多。
这个页面有4个app,都是用nativefier生成的
除了这些,nativefier还提供了很多可选参数,比如是否限制app窗口的宽高、是否显示菜单栏、关闭时是否启动、是否开启flash支持等等。你可以直接在终端输入nativefier或者nativefier -h查看,或者阅读官方API文档学习。
哦,对了,nativefier做的app还支持调用系统的推送。例如,将网页版微信打包成应用程序后,当有新消息到来时,您也可以收到新消息通知。
好了,nativefier就给大家介绍到这里,我带着新打包的app去钓鱼。