数据采集工具:八爪鱼
目录
一.八爪鱼介绍 二.安装八爪鱼 三.采集原理 四.快速入门 五.登陆 六.基本排错 七.提取、导出数据
一.八爪鱼介绍
八爪鱼是一款通用的网页数据采集器,能够采集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空行
文本循环
适用情况:在搜索框中循环输入关键词,采集关键词搜索结果的信息。 示例网址: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来记住登陆状态,以达到采集数据的目的