译文:Puppeteer 与 Chrome Headless —— 从入门到爬虫

这里是 GitHub 英文原文 / Medium 英文原文

A Desert in painters perception

Puppeteer 是 Google Chrome 团队官方的无界面(Headless)Chrome 工具。正因为这个官方声明,许多业内自动化测试库都已经停止维护,包括 PhantomJSSelenium IDE for Firefox 项目也因为缺乏维护者而终止。

译者注:关于 PhantomJS 和 Selenium IDE for Firefox 停止维护并没有找到相关的公告,但这两个项目的确已经都超过 2 年没有发布新版本了。但另一个今年 5 月才开启的项目 Chromeless 目前在 Github 上已经超过 1w star,目前还非常活跃。

Chrome 作为浏览器市场的领头羊,Chrome Headless 必将成为 web 应用 自动化测试 的行业标杆。所以我整合了这份如何利用 Chrome Headless网页爬虫 的入门指南。

Read More

Java 中使用 Gson 反序列化 JSON 数据

好长时间没写 Java,发现序列化、反序列化一个 JSON 数据真不是个容易的事情(主要还是年纪大了,记不住)。于是记录一下使用 Gson 反序列化的方法。文中涉及的代码都可以在这个 gson-deserialization-example 中找到。

作者本身不懂 Java,本着不负责的态度写下这些内容,大牛勿喷,想抄代码的菜鸟请珍重。
本文基于转换期间没有异常情况讨论,实际情况请珍重。

初始化

我们先创建一个简单的 TestMain.java 文件,用来运行我们后续的测试方法。

TestMain.java
1
2
3
4
5
public class TestMain {
public static void main(String args[]){
// 运行测试方法
}
}

Read More

删除本地 Docker 镜像

使用 Docker 会遗留一大堆不知道什么鬼的镜像,下面我们想办法干掉他们。

TL;DR

1
2
docker ps -a | grep 'Exited' | awk '{print $1}' | xargs docker stop | xargs docker rm
docker images | grep '<none>' | awk '{print $3}' | xargs docker rmi

Read More

GitLab CI Runner with Docker

Install CI Runner:

Install a CI Runner on a machine is quite easy, here is the linux-repository:
在一台普通机器上安装 CI Runner 应该是一件很简单的事情,下面是 Linux 的安装方法

Add GitLab’s official repository via apt-get or yum:

1
2
3
4
5
# For Debian/Ubuntu
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash

# For CentOS
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash

Read More