后羿爬虫采集器使用体验

544 阅读3分钟

我正在参加「掘金·启航计划」

前言

接到项目,领导给了3个实习生,200 个网站(中外文都有,500个栏目的样子), 要求1.5个月完成采集工作。

软件选型

领导选型用后羿软件,加上实习生因疫情要远程办公,只好用这款学习相对容易的软件。

配置模板

后羿生成爬虫模板(列表+详情的网页)是傻瓜式的,对于没有爬虫经验的人来说,看看教程,就能完成模板的生成。

  1. 自动识别列表页(标题,时间,url),详情页(标题), 自动识别翻页链接,
  2. 界面上点击生成xpath 表达式,这种生成新闻的发布时间,新闻详情,栏目等字段模板,对于有些不好点选的内容,还可以手动输入xpath 表达式,
  3. 数据的后处理, 如静态字符,字符截取,正则表达式抽取等
  4. 图片,文件的自动下载.

而且,爬虫模板是随账户可以同步到另一台服务器上的,方便多人进行分工。 项目中用的是企业版(3个并发),又买了一个并发,共4个并发,费用1w/年。

数据导出设定和定时任务

  1. 定时任务,自动导出数据是本地设置,不随账户一起同步。这点对项目是比较麻烦的, 需要实习生配好模板,再到服务器上去设定时任务。自动导出数据的设置. 而且连接数据库没有一个统一保存的地方,需要一个模板一个模板的配。(有个方案,可以把数据库连接,字段对应关系保存下来,复用)
屏幕快照 2022-12-04 下午3.22.28.png
  1. 定时任务是在内存中保存的,没有做文件保存。同时起的定时任务过多,可能会有任务丢失的问题,客服给的建议是10G内存可以起10个任务,实际操作时,任务之间间隔3分钟。

Bug

  1. 图片下载
  • 当图片在源码中不以src 存在,而是存在其它属性,如datasrc=""中时,且渲染速度较慢,图片下载不正确。
  • 图片在源码中是相对路径,拼成完整路径时可能错误,导致下载的图片404.
  1. 操作系统兼容性问题 我在2台 window 2012 上布署后羿软件,其中一台出现了连接本地数据库问题,数据读写出现问题。客服说本地数据库用的IndexDB, 数据量大会出现连接问题,要换数据库。

  2. 内存占用 后羿软件很占内存,后羿是进程级的,任务以进程的方式运行(一般采集任务都是线程级的),如果任务设有自动分页,这个任务可能会运行长期运行,占用cpu .这种任务多了,cpu 100%,啥也做不了。

  3. 有些任务预览时与运行后,数据不一致。改成用手机浏览器才能正确采集。