数据采集工具:八爪鱼

数据采集工具:八爪鱼

 

 

目录

一.八爪鱼介绍
二.安装八爪鱼
三.采集原理
四.快速入门
五.登陆
六.基本排错
七.提取、导出数据

  

 

一.八爪鱼介绍

八爪鱼是一款通用的网页数据采集器,能够采集98%的网页。
可简单快速地将网页数据转化为结构化数据,存储为EXCEL或数据库等多种形式,并且提供基于云计算的大数据云采集解决方案。
八爪鱼作为一款通用的网页数据采集器,并不针对于某一网站某一行业的数据进行采集,而是网页上所能看到或网页源码中有的文本信息,几乎都能采集。
官网:https://www.bazhuayu.com/

 

二.安装八爪鱼

 

1.进入官网注册,因为下载使用要登录才能使用各项功能。

2.请双击OctopusSetup.exe开始安装。

3.安装完成后在开始菜单或者桌面均可以找到八爪鱼采集器快捷方式。

4.启动八爪鱼采集器并登陆。

  

 安装提示:

本软件需要.NET3.5 SP1支持,Win 7已经内置支持,XP系统需要安装,部分Win10系统可能也需要安装。

软件会在安装时自动检测是否安装了.NET 3.5 SP1,如果没有安装则会自动从微软官方在线安装,

国内在线安装速度很慢,建议先从:http://pan.baidu.com/s/1nu5VbTJ 下载安装.NET 3.5 SP1,然后再安装八爪鱼采集器。

 

 

三.采集原理

八爪鱼采集器的核心原理是:基于Firefox内核浏览器,通过模拟人浏览网页的行为(如打开网页,点击网页中的某个按钮等操作),对网页内容进行全自动提取。
内置火狐内核浏览器,模拟人浏览网页、复制数据的行为, 通过设计工作流程,自动化采集数据。

  

 

四.快速入门

 

在八爪鱼客户端中,采集和导出数据主要经过以下3个步骤:
1、选择采集模式
2、配置任务
3、配置完成后,选择采集方式,本地采集或云采集
4、采集完成,导出数据

 

选择采集模式

简易模式下内置了国内一些主流网站的采集规则。如果要采集的网站和字段在简易模式的模板中,可直接调用。

注意:可自定义修改参数,以采集所需数据。

建议:
如果不能确定需要多少页数据,建议打开网站看一看每页数据量做简单计算后设置,如果还是不能确定,建议稍微多设置一点翻页,因为多采集的数据可以在Excel当中进行删减,如果少采集了数据,简易模式下只能从头开始重新采集。
简易模式
智能模式下,只需要输入网址,点击搜索,八爪鱼便会自动采集网页数据并以表格形式呈现出来。可以进行删除或修改字段、翻页、数据导出等操作,以excel格式导出。

试用情况:网页中数据以表格或列表形式呈现的网页。例如电商网站商品列表的商品信息、一些生活服务类的网站等等。

此外,智能模式还可以输入关键词搜索数据。比如搜索“天气”,点击查询后,可以跳转到数多多规则市场。在数多多上可以直接查找到相关的数据或规则。用户可以通过下载,获取数据或规则,规则可以放到八爪鱼中运行,以获取想要的数据。
智能模式
向导模式,通过简单易懂的语言,指引用户熟悉网页结构,认识八爪鱼采集流程。通过向导模式,可明白规则配置的方法和八爪鱼采集器的采集思路

在智能模式、简易模式不能满足需求的时候,建议优先使用向导模式,使用熟练后可以使用自定义模式进行采集,采集更自由、更效率。

示例网址:
https://coll.jd.com/list.html?sub=13321 https://coll.jd.com/list.html?sub=13322
向导模式
自定义模式是八爪鱼用户使用最多的一种模式,需要自行配置规则,可以实现全网98%以上网页数据的采集。经过采集原理讲解与向导模式试炼,我们大致理解了八爪鱼采集数据的逻辑,接下来需使用自定义采集模式,自行配置规则,抓取网页数据。

使用自定义模式配置规则,抓取数据,涉及打开网页、建立循环列表、建立翻页循环、配置字段、启动采集等多个基础操作。
自定义模式

 

配置任务

流程步骤:在八爪鱼采集器中,一共有11个流程设计操作
                 其中分为常用步骤和进阶步骤

常用步骤:1)打开网页
	2)循环翻页
	3)循环列表
	4)点击元素
	5)提取元素

进阶步骤:1)输入文字                   2)识别验证码
	3)切换下拉选项	  4)判断条件
	5)移动鼠标到元素上	  6)结束循环
	7)结束流程	

  

选择采集方式

本地采集(单机采集),即使用自己的电脑进行采集。

可以实现绝大多数网页数据的爬取,可以在采集过程中对数据进行初步的清洗。如使用八爪鱼自带的正则工具,利用正则表达式将数据格式化,可在数据源头实现去除空格、筛选日期等多种操作。

其次八爪鱼还提供分支判断功能,可对网页中信息进行是与否的逻辑判断,实现用户筛选需求。

  

云采集,是使用八爪鱼提供的云服务集群进行数据采集,不占用本地电脑资源。当规则配置好之后,启动云采集,可关掉自己的电脑,实现无人值守。

功能:定时采集,实时监控,数据自动去重并入库,增量采集,自动识别验证码,API接口多元化导出数据。

速度:利用云端多节点并发运行,采集速度将远超于本地采集(单机采集)。

防封:具有多节点,多IP,可避免网站的IP封锁,实现采集数据的最大化。

  

入门练习

单网页数据采集
►单网页                        示例网址:http://www.skieer.com/guide/demo/simplemovies2.html
►单网页列表                 示例网址:http://www.skieer.com/guide/demo/genremovies2.html
►单网页列表详情          示例网址:http://www.skieer.com/guide/demo/navmovies2.html

分页数据采集
►分页列表                    示例网址:http://www.skieer.com/guide/demo/genremoviespage1.html
►分页列表详情             示例网址:http://www.skieer.com/guide/demo/moviespage1.html

 

分页列表数据采集

 

1.点击自定义采集

 

2.输入网址:https://www.bazhuayu.com/tutorial/hottutorial

 

3.构建分页,点击分页的下一页,循环点击单个链接

 

 4.构建列表,连续点击两个标题,然后点击循环点击每个元素

 

 

4.设置采集数据字段,点击标题,时间和阅读量,获取标签内容

 

 5.查看流程

 

 

6.最后点击开始采集,选择本地采集,导出数据

 

注意事项

在不同网页中,同一步骤,操作提示框中出现的提示可能不同
因网页源码不同,同一个步骤中,操作提示框中出现的提示可能稍有不同,但逻辑是一样的,请大家灵活处理
例:以循环翻页为例,“循环点击下一页”、“循环点击单个元素”、“循环点击单个链接”从本质上是一样的,都是不断点击翻页按钮进行翻页,但因网页结构不同,提示稍有不同

创建循环的两种方式,具有特殊情况
►常见情况
列表采集:选中一个元素-选中子元素-选中全部-采集数据
列表及详情采集:选中一个链接-选中全部-循环点击每个链接
►特殊情况
但有些网页会有特殊情况,需要我们灵活处理,具体请看此视频教程:
分页采集和创建循环的两种方式 http://www.bazhuayu.com/tutorial/fenyecaiji

八爪鱼支持嵌套循环,不支持并列循环
►针对同一页面只能建立1个循环列表
存在想要采集列表数据,也想要采集详情页数据的情况,错误做法:建立2个循环循环列表
正确做法:建立1个循环列表,循环中包括“提取列表页数据”和“点击元素”步骤
注意事项,一定要看!

 

五大循环方式

URL循环

文本循环

单个元素循环

固定元素列表循环

不固定元素列表循环

 

URL循环

适用情况:在多个同类型的网页中,网页结构和要采集的字段相同。


示例网址:
https://movie.douban.com/subject/26387939/
https://movie.douban.com/subject/6311303/
https://movie.douban.com/subject/1578714/
https://movie.douban.com/subject/26718838/
https://movie.douban.com/subject/25937854/
https://movie.douban.com/subject/26743573/
https://movie.douban.com/subject/20451290/
https://movie.douban.com/subject/26816383/
https://movie.douban.com/subject/26260853/

点击自定义任务,每条url空行
URL循环

文本循环

适用情况:在搜索框中循环输入关键词,采集关键词搜索结果的信息。

示例网址:https://zhidao.baidu.com/

注意事项:有的网页,点击搜索按钮后,页面会发生变化,数据采集异常,则打开网页步骤需放在文本循环内
示例网址
文本循环

单个元素循环

适用情况:需循环点击页面内的某个按钮。例如:循环点击下一页按钮进行翻页。

实现方式:通过单个元素循环方式,达到循环点击下一页按钮进行翻页目的。

定位方式:使用xpath定位,在当前页始终能定位到下一页按钮。

示例网址:
http://www.bazhuayu.com/tutorial/gnd
单个元素循环

固定元素列表循环

适用情况:网页上要采集的元素是固定数目的。1)每一页的元素数目固定;2)采集特定数目的元素。

实现方式:通过固定因素列表循环,循环页面内的固定元素。

定位方式:使用xpath定位,一条xpath对应循环列表中的一个元素。

示例网址:
http://www.bazhuayu.com/tutorial/gnd
固定元素列表循环

不固定元素列表循环

适用情况:网页上要采集的元素不是固定数目。每个页面上元素数目不固定:一页存在同类元素7个,另一页存在同类元素10个......

实现方式:通过不固定因素列表循环,循环页面内的不固定数目的元素。

定位方式:使用xpath定位,一条xpath对应循环列表中的全部元素。

示例网址:
http://weixin.sogou.com/
http://sz.58.com/?utm_source=link&spm=u-LscBIm_2J9tMeMj.psy_111
不固定元素列表循环

 

 

五.登陆

 

文本输入及点击登录

cookie登录

★登录注意事项:iframe框架

  

 

文本输入及点击登陆

在八爪鱼中,做一个输入用户名、密码的登录流程,先在登录网址中输入用户名、密码登陆进去,然后打开要采集数据的网址进行数据采集。

登录网址:https://login.tmall.com/

要采集数据的网址:https://list.tmall.com/search_product.htm?q=%C1%AC%D2%C2%C8%B9&click_id=%C1%AC%D2%C2%C8%B9&from=mallfp..pc_1.1_hq&spm=875.7931836%2FB.a1z5h.2.vxUxbA

  

cookie登录

cookie登录是指:通过记录cookie,登录网站以进行数据采集。

cookie是:某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。经过方法一后,一个输入账号密码,登录进网站的登录流程已经做好,产生了登录cookie。八爪鱼中内置了记录cookie的功能,可通过获取登陆后的cookie来记住登陆状态,以达到采集数据的目的

  使用cookie登录有一点需要注意:cookie是有生命周期的,这个周期多长时间取决于采集的网站,如果cookie到期了,就需要再重新获取一次登陆之后的cookie。另外。 如果需要切换账号,可以勾选打开浏览器前清理缓存,然后再取消cookie,重新设置其他账号即可。

  

登录-iframe框架

Iframe框架是什么
有些网站的登录框其实是iframe的登录框。
iframe即html标签,会创建包含另外一个文档的内联框架(即行内框架),含义是网页中的网页。

如何查看网页使用了Iframe框架
借助火狐浏览器来查看。
1、将网页在火狐浏览器中打开
2、将鼠标移至天猫登录框,右键右击后选择“此框架”>>“在新标签页中打开框架”

具体请查看教程:http://www.bazhuayu.com/tutorial/cookdenglu

  

 

验证码登录

验证码登陆-设置执行前等待方法

验证码登陆-控件识别方法

验证码登陆-cookie登录方法

  

验证码登录-设置执行前等待

对“点击登录”步骤,设置执行前等待。设置之后,当运行到这一步的时候,会等待一段时间,给我们手动输入验证码。

通过设置执行前等待,可解决
1)输入验证码;2)其他验证方式,如滑块验证。

示例网址:http://www.bazhuayu.com/login

所有版本可用

只能用于本地采集,不能用于云采集
设置执行前等待

验证码登录-控件识别

除了设置执行前等待外,八爪鱼内置的控件识别,可识别网页上的验证码,从而进行数据采集。

适用情况为:具有输入验证码的框的网页。

示例网址:http://www.bazhuayu.com/login

支持本地采集和云采集

旗舰版以上可自动识别,需另购验证码套餐
控件识别

验证码登录-cookie登录

在使用了设置执行前等待或者控件识别后,网页处于登录状态,此时可以使用cookie登录方法。

cookie登录是指:通过记录cookie,登录网站以进行数据采集。

cookie是:某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。经过方法一后,一个输入账号密码,登录进网站的登录流程已经做好,产生了登录cookie。八爪鱼中内置了记录cookie的功能,可通过获取登陆后的cookie来记住登陆状态,以达到采集数据的目的
cookie登录

 

posted @ 2019-03-29 23:06  -零  阅读(5112)  评论(0编辑  收藏  举报