工作中需要使用爬虫系统,做为技术选型需要对Huginn系统进行部署并进行功能验证。下面的文章会记录了Huginn的部署过程,本次部署采用的Ubuntu-23.0.4系统,使用Docker部署。部署过程需要翻墙。
一、安装Docker
删除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
使用脚本安装Docker
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
二、启动Docker容器
配置Docker镜像
sudo vim /etc/docker/daemon.json
注:Ubuntu默认不安装vim命令需要自己安装,也可以使用vi命令
sudo apt install vim
需要在daemon.json文件中写入下方内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
启动Docker服务
systemctl start docker
查看Docker服务状态
systemctl status docker
配置Docker服务为开机启动
systemctl enable docker
三、安装Huginn镜像并运行
拉取Huginn镜像
从仓库拉取镜像,创建并指定端口创建启动一个容器
sudo docker run -it -p 3000:3000 huginn/huginn
查看Docker中现有的镜像
sudo docker image ls
删除镜像
sudo docker image rm huginn/huginn
四、试用结果
1、开源版本可适用于单一页面数据采集,例如采集天气的温度或湿度信息,或者单一静态页面的信息。不适合复杂页面的数据采集。
2、若要实现复杂页面信息的采集,需要适用商业版(开源版本有BUG)并且需要适用一个叫做PhantomJsCloud API Service - It just works! 的云服务(这个服务是收费的)
3、这个软件的主要优势在于可以通过一系列的配置实现对复杂网页数据的获取,而不需要通过编写代码实现。
4、软件中将对一个网页数据的爬取的过程抽象为多个Agents,通过对Agents的配置完成对网页数据的爬取。例如需要从某一个网站的首页获取到所有文章,则需要先创建一个Agents来获取文章列表然后将列表数据做为事件传递到下一个Agents 中用来获取文章的详情。