zoukankan      html  css  js  c++  java
  • 数据采集工具:八爪鱼

    数据采集工具:八爪鱼

    目录

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

      

    一.八爪鱼介绍

    八爪鱼是一款通用的网页数据采集器,能够采集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登录
  • 相关阅读:
    PyMySQL TypeError: not enough arguments for format string
    使用python3抓取pinpoint应用信息入库
    JS 异步之 async await
    JS Null 空 判断
    Vue问题汇总
    pymysql DAO简单封装
    py可视化执行过程
    jenkins回滚之groovy动态获取版本号
    容器时间 容器乱码问题
    SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
  • 原文地址:https://www.cnblogs.com/-wenli/p/10624757.html
Copyright © 2011-2022 走看看