1.1Ubuntu简介
Ubuntu 是一个以桌面应用为主的开源操作系统,是用户量最庞大的Linux分支。Ubuntu 的第一个正式版本于2004年10月推出,版本号为4.10。正式版的推出引起了全球开发者的广泛关注,成千上万的自由软件爱好者加入了Ubuntu社区。发展至今,Ubuntu已经有很多版本和衍生品,例如服务器专版,长期支持版和OpenStack云版本等。
1.2VirtualBox 的安装
VirtualBox 下载地址:官方链接
安装 Ubuntu
Virtualbox 软件界面如图所示,左侧是虚拟机列表,右侧是快捷操作栏。
点击右侧的“新建”按钮,在弹出的设置窗口中填入虚拟机的名称“ubuntu”(也可以填其他名称),然后根据自己的情况选择空间充裕的磁盘,如图1-5所示,接着点“下一步”按钮即可。
接着,根据自己计算机的实际情况分配虚拟机内存,在通常情况下不少于2048MB。如果本机内存充裕,建议分配8192MB以上,这里的内存配置如图
选择“现在创建虚拟硬盘” ,点击创建,文件类型默认第一个,然后下一步
并在“存储在物理硬盘上”选项卡选择“动态分配”。建议分配60G左右的硬盘空间
在软件界面右侧“设置”按钮,弹出面板选择左侧的“系统”选项,然后在“处理器”选项卡分配至少2个处理器
“存储”选项,右侧“分配光驱”,“选择一个虚拟光盘文件”,找到下载好的系统镜像文件
配置完毕后,右侧“启动”选项。进入Ubuntu系统安装引导界面,点击安装Ubuntu, 一切默认设置。
在顶部菜单栏中找到“设备”选项,并在子菜单中选择“安装增强功能”,此时弹出软件安装确认提示框,点击“运行”按钮即可。
安装完成后,点击右上角“最大化”按钮,就可以全屏使用了。
1.2 Python设置
在Python安装第三方库时,需要使用包管理工具pip,Ubuntu系统并没有为我们准备这个包管理工具,我们需要自己安装。
$ sudo apt-get install python3-pip
待安装完成,通过如下命令检查是否安装成功。
pip3 --version
2.1 安装Docker
Docker 是一个用 Go语言编写的开源的应用容器引擎,具有轻量、便捷、低开销等优点。开发者可以将应
用和对应的运行环境包装到一个可移植的容器中,并发布到任何装有 Docker 的机器上。本书配套的练习
平台 Steamboat 和书中所用的异步渲染服务 Splash 都是 Docker 镜像,所以我们有必要了解 Docker 的相关
知识和基本操作。
Docker 引擎分为如下两种。
- Docker Enterprise:简称 Docker EE,专为企业开发和大型 IT 团队而设计。
- Docker Community Edition:简称 Docker CE,适合 Docker 新手和小型团队,共有 3 个版本。
-
Stable 版,即稳定版
-
Test 版,即测试版
-
Nightly版,即最新版
安装 Docker CE 之前,需要设置 Docker 存储库,对
应的命令如下
-
sudo apt-get update
在安装过程中,需要允许 apt 通过 HTTPS 协议使用存储库,对应的设置命令如下:
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
接着添加 Docker 官方的 GPG 密钥,对应命令如下:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
确认密钥添加成功的命令如下:
$ sudo apt-key fingerprint 0EBFCD88
然后添加 Stable 版本的存储库,对应命令如下:
$ sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
接着更新 apt 索引,对应命令如下:
$ sudo apt-get update
待索引更新完毕后,就可以安装 Docker CE 了,命令如下:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Docker CE 安装完成后,并不会给出类似“安装成功”的提示。为了确认安装成功并确保 Docker CE 正常运
行,我们可以通过运行 hello-world 镜像进行验证,提示中出现的Hello from Docker字样就说明 Docker CE 正常运行。
对应命令如下:
$ sudo docker run hello-world
1.3安装Splash
Splash 是一个异步的 JavaScript 渲染服务。它是带有 HTTP API 的轻量级 Web 浏览器,能够并行处理多个
页面请求,可以在页面上下文中执行自定义的 JavaScript 以及模拟浏览器中的点击、下滑等操作。
安装 sudo docker pull scrapinghub/splash
运行 sudo docker run -it -p 8050:8050 scrapinghub/splash
1.4安装Puppeteer
Puppeteer 是谷歌官方出品的一个 Node.js库,提供了一个高级 API 来控制DevTools协议上的Chrome 或
Chromium。Puppeteer默认无界面运行,但可以配置为运行有界面的 Chrome 或 Chromium。
在用户浏览器中,使用Puppeteer可以完成大多数手动执行的操作。有开发者开源了支持 Python 的
Puppeteer 库,叫作 Pyppeteer,其文档网址为https://miyakogi.github.io/pyppeteer/。要注意的是,它仅支持
在 Python 3.6 + 的环境下运行。同样,我们可以使用 Python 包管理工具 pip来安装 Pyppeteer,命令如下:
$ pip install pyppeteer
1.5安装 PyTesseract
OCR(Optical Character Recognition,光学字符识别)是指通过扫描字符并检测暗、亮的模式确定其形
状,然后用字符识别方法将形状翻译成计算机文字的过程。OCR 采用光学方式将纸质文档中的印刷体文
字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一
步编辑加工的技术。
Tesseract 是一个开源文本识别器引擎,允许开发者在 Apache 2.0 许可下使用。它可以直接使用,也可以通
过 API 从图像中提取文本。Tesseract 的安装说明网址为官网链接,其中
对于常见操作系统的安装都有说明。Ubuntu 系统对应的安装命令如下:
$ sudo apt install tesseract-ocr --fix-missing
$ sudo apt install libtesseract-dev --fix-missing
Tesseract 安装完成之后,Python 还不能直接调用。我们需要安装 PyTesseract ,它对谷歌出品的 Tesseract OCR(详见 官网链接)做了一层封装,是 Python 中的光学字符识别库。我们
可以用它读取Python Imaging Library支持的所有图像类型,包括JPEG、PNG、GIF、BPM和TIFF 等。
PyTesseract 库的使用介绍详见https://pypi.org/project/pytesseract/,其安装命令为:
$ pip install pytesseract
1.5 nginx安装
nginx 是一个高性能的 HTTP 和反向代理服务,也是一个 IMAP/POP3/SMTP 服务,其优点是内存占用少、
并发能力强、稳定性高。nginx 是跨平台的,它可以在大多数类 UNIX 系统上运行,同时也支持 Windows
系统。
Ubuntu 系统的软件仓库中已经包含了 nginx 的安装包,所以我们可以直接用如下命令安装它:
$ sudo apt-get install nginx
nginx 的启动命令为:
$ sudo systemctl start nginx.service
我们还可以使用如下命令将它设置为开机启动:
$ sudo systemctl enable nginx.service
1.6 安装Charles
Charles 是一个 HTTP 代理与监视软件,方便开发人员查看手机和 Internet 之间的所有 HTTP 和 HTTPS 网
络记录,包括请求、响应和含有 Cookie 及缓存信息的 HTTP 头。
相关链接
1.6.1 安装SSL证书
打开 Charles软件,点击菜单栏中的Help选项,并在弹出的列表中选择 SSL Proxying→Install Charles Root Certificate
点击“安装证书”按钮,在“证书导入向导”界面的“存储位置”框中选择“本地计算机”
点击“浏览”按钮,在弹出的证书存储列表中选择“受信任的根证书颁发机构”
1.7 Chrome开发者工具界面是面板风格布局,面板及对应功能如下
- 元素面板 Elements:检查和调整页面,编辑样式和 DOM。
- 控制台面板 Console:记录调试信息或者使用它作为 shell在页面上与JavaScript交互。
- 源代码面板 Sources:断点调试、实时编辑。
- 网络面板 Network:记录请求信息及资源加载情况。
- 性能面板 Performance:记录和查看网站生命周期内发生的各种事件。
- 内存面板 Memory:跟踪内存信息。
- 应用面板 Application:检查加载的所有资源,包括本地和会话存储、Cookie、应用程序缓存、图像、字体和样式表。
- 安全面板 Security:调试混合内容问题和证书问题等。
- 审计面板 Audits:分析网页内容加载过程,检测网页性能。
1.8 JADX安装
如果想查看 Android应用的代码,就需要将该应用的APK安装包反编译成可读的代码。JADX是一款开源
的APK反编译工具,我们可以用它将APK反编译成代码,其GitHub 仓库地址为:
https://github.com/skylot/jadx
根据JADX项目README.md 文件中介绍的方法,安装和启动JADX。JADX 依赖 JDK 8,所以在编译安装它之前,需要先安装 JDK 8。JDK 是 Java 语言的开发工具包,JDK 8 指的是该工具包的 1.8.0 版本。OpenJDK 是 JDK 的开源版本,它的功能和作用与 JDK 相同,但安装过程非常简单。我们按照 OpenJDK官网(详见 http://openjdk.java.net/install/)推荐的安装方式即可。对应的安装命令为:
$ sudo apt-get install openjdk-8-jre
执行安装命令后,Ubuntu 系统就会在软件仓库中安装指定的软件,这时有可能出现需要确认的选项,输入y即可。安装好 JDK 8 后,我们就可以编译并安装JADX了。首先使用git clone命令将JADX源码克隆到计算机中:
$ git clone https://github.com/skylot/jadx.git
接着进入JADX目录并运行构建命令:
$ cd jadx
$ ./gradlew dist
项目构建完成后,就可以使用如下命令启动JADX的图形界面了:
$ cd build/jadx/
$ bin/jadx-gui lib/jadx-core-*.jar