3-八爪鱼自定义数据采集(关键词循环、数据格式化)
目录
- 3-1-京东关键词循环与特殊字段
- 登录账号,设置Cookie
- 设置循环
- 按关键词搜索
- 3-2-豆瓣数据格式化
- 1、替换
- 2、正则表达式替换
- 3、正则表达式匹配
- 4、去除空格
- 5、添加前缀
- 6、添加后缀
- 7、日期时间格式化
- 8、HTML转码
- 3-3-正则表达式
- 1、正则表达式简介
- 2、正则表达式的用途
- 3、常用元字符及描述
- 4、边界匹配
- 3-4-练习与思考
- 参考资料
3-1-京东关键词循环与特殊字段
京东链接:https://www.jd.com
登录账号,设置Cookie
进入八爪鱼打开京东的链接
与“2-自动识别初体验”的微博登录设置一致
设置循环
找到流程图在打开网页1的下方点击+号,增加循环,将提取准备好的关键词输入到循环列表中。
按关键词搜索
设置完循环然后设置网页访问,进行数据采集。
3-2-豆瓣数据格式化
在实际的采集过程中,采集到的数据可能不满足我们的需求,因此需要对数据进行格式化。本节内容以豆瓣图书为例,讲解如何使用八爪鱼进行数据采集。(本节内容来源于八爪鱼官方教程)
在第2节中我们采集了豆瓣图书的相关信息,网址:活着 (豆瓣) (douban.com)
采集中我们发现作者和出版社等信息都混到了一起,如果我们只想要其中的一部分怎么办?
字段提取完成以后,鼠标移动到目标字段上,然后点击 【…】按钮,选择【格式化数据】,就会进入【格式化数据】配置页面。
原始值:原始字段
结果:经过格式化步骤后,输出的字段结果
添加步骤:提供8个数据格式化选项:替换、正则表达式替换、正则表达式匹配、去除空格、添加前缀、添加后缀、日期时间格式化、Html。
以下将配合具体案例,详解这8个选项如何使用
1、替换
将字段中的部分或全部内容替换为其他内容,支持文字、数字、符号、空格、换行符的替换
例如:如果我们想将字段【436665人评价】中的文本【人评价】去掉,只留下数字【43665】。
具体步骤为:
2、正则表达式替换
用正则表达式将字段中的部分或全部内容找出来,然后将其替换为其他内容,支持文字、数字、符号、空格、换行符的替换。相比简单的【替换】,【正则表达式替换】更为强大灵活。
在提取书籍信息时,我们发现采集到的数据中有很多空格,我们想将空格去除掉
【正则表达式】:\s+(这条正则表达式的意思是,找到字段中所有的空格)
3、正则表达式匹配
用正则表达式将字段中的部分或全部内容提取出来
实例:在采集数据中,我们只需要作者这一行的信息
首先使用正则表达式替换,将空格全部替换为空
接着使用正则表达式匹配将作者的相关信息提取出来
4、去除空格
包括三种,分别是【去除开头空格】、【去除结尾空格】、【去除两头空格】
5、添加前缀
增加前缀,就是在采集的字段前增加相关信息,如下图所示
6、添加后缀
怎么理解增加前缀,就是在采集的字段后增加相关信息
7、日期时间格式化
选中时间字段,选择【日期时间格式化】,将日期转化成需要的格式或者仅提取日期时间中的某一部分。
8、HTML转码
html页面中会有html带有相关的特殊标记,需要将这些特殊的标记进行转换,比如gt;转化为>,nbsp;转化为空格等等,当然这种类型也能用替换来解决。
3-3-正则表达式
1、正则表达式简介
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个【规则字符串】,这个【规则字符串】用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
2、正则表达式的用途
字符串匹配(字符匹配)
字符串查找
字符串替换
3、常用元字符及描述
\d 匹配一个数字字符。等价于[0-9]
\D 匹配一个非数字字符。等价于[^0-9]
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。
\w 匹配构成单词的字符(字母、数字、下划线)。等价于[A-Za-z0-9_]
\W 匹配非构成单词的字符。等价于[^A-Za-z0-9_]
\p{Lower} 英文的小写字母
. 任意一个字符
X* 任意次数
X+ 一次或多次
X? 最多一次
X{n} 正好n次
X{n,} 最少n次,上不封顶
X{n,m} 最少n次,最多m次
[] 表示一个范围
[a-z]|[A-Z] [a-zA-Z] [a-z[A-Z]] a到z 或A到Z
[A-Z&&[RFG]] A到Z并且RFG (交集的意思)
“” 正则 “a?” 零宽度匹配,出现零次
4、边界匹配
^开头和$结尾
^h.* .*ir$ ^h[a-z]{1,3}\b
\b 一个单词的边界,空格、换行……
[\s&&[\n]]*\n$ 空白行,开头是空白字符但不是换行符,出现0次或多次,且紧跟着是结束的换行符
常用的正则表达式:https://www.cnblogs.com/hsinfo/p/13584432.html
当你对你写的正则表达式不确定时,可以使用正则表达在线测试,以确定正则表达式正确
正则表达式测试:https://c.runoob.com/front-end/854
3-4-练习与思考
思考部分
1.在数据采集过程中,数据格式化作用是什么?为什么要进行数据格式化?
数据格式化可以方便后续的数据分析,更好地为后续的工作服务。
2.除了在数据采集中,正则表达式能用在学习和生活中的哪些方面?
正则表达式可以用于匹配所需数据,例如登录账号密码的匹配、邮箱校验等等。
参考资料
https://www.bazhuayu.com/tutorial8/81srgjc
https://www.bazhuayu.com/tutorial8/81gshsj
3-八爪鱼自定义数据采集(关键词循环、数据格式化)相关推荐
- 云脉自定义模板识别大大提高资料数据格式化的效率
欢迎在线咨询http://www.yunmaiocr.com/ 云脉自定义模板识别软件是云脉公司根据多年OCR研发经验,结合市场需求研发的一款可以针对各种票据.卡证实现字段名和字段值对应提取的OCR产 ...
- 利用免费工具爬取关键词(数据)的豆瓣读书数据——八爪鱼爬取数据并导出到Excel/Mysql数据库设置示例——关键词:爬虫、读书、实用
目录 原始需求 需求解读 所需软件配置 软件介绍 八爪鱼 Excel Navicat Mysql 数据采集及保存 步骤1 探索搜索页面规律 步骤二 八爪鱼批量生成链接,添加参数(前缀+尾巴) 步骤 ...
- R语言ggplot2可视化分面图(facet,facet_wrap): 不同分面配置不同的数据范围、自定义每个分面的轴数据格式化形式及数据范围
R语言ggplot2可视化分面图(facet,facet_wrap): 不同分面配置不同的数据范围.自定义每个分面的轴数据格式化形式及数据范围 目录
- java学习笔记——springmvc 之 数据自定义转换器 数据格式化 JSR303数据校验返回与接收JSON(@RequestBody 和 @ResponseBody)
九.数据绑定流程分析 1.提出问题 日期字符串格式的表单参数,提交后转换为Date类型 <!-- 解决问题: 1.数据类型转换 2.数据格式 3.数据校验 --> BirthDay ...
- SpringMVC-应用(数据绑定-自定义类型转换器,数据的格式化,数据校验)
一.提出问题 SpringMVC封装自定义类型对象的时候,JavaBean要和页面提交的数据一一绑定.下面要知道: 1)页面提交的数据都是字符串 2)JavaBean中的属性如:Integer age ...
- 数据采集及部分数据标注平台工具说明
采集任务的类别 数据采集任务有很多种,可以分为图片,语音,视频,文本等几大类 图片类采集任务常见的有:人像采集,动作采集 ,生活场景采集,车辆采集,,商品采集. 语音类采集任务常见的有:外文录音采集, ...
- python条件输出_python基础(二)条件判断、循环、格式化输出
继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样, ...
- python指定条件分类输出_python基础(二)条件判断、循环、格式化输出
继续上一篇,今天主要总结一下条件判断.循环.格式化输出 一.条件判断 python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样, ...
- SpringMVC数据格式化
7.3.数据格式化 在如Web /客户端项目中,通常需要将数据转换为具有某种格式的字符串进行展示,因此上节我们学习的数据类型转换系统核心作用不是完成这个需求,因此Spring3引入了格式化转换器(Fo ...
- Day06-Python文件和数据格式化
简介 此系列主要记录若干年前学习Python的心路历程,本文为第六章(同时也是基础内容的最后一章)Python文件和数据格式化.经过以上学习应该已经掌握Python的基本编程. 文件的使用: 数据的抽 ...
最新文章
- 零基础学习Python需要注意的几个点,Python培训机构排名
- Hangry 饥饿成怒 2016-10-03
- NodeJS学习目录
- H.264解码器ffmpeg完整优化代码(包括PC和Windows Mobile版本)
- Android 逆向分析(三)之动态调试Smali
- 指定火狐浏览器安装位置
- 每日一句20191027
- 使用 Design Pattern Toolkit 进行模型驱动的开发入门
- 空号检测平台使用说明
- matlab幅度调制滚动条的程序_利用MATLAB实现信号的幅度调制与解调
- SEO优化_文章原创怎么写
- 轻轻松松做出绝美词云!这是比阿里云DataV还好用的数据可视化平台
- 【原创】VBA学习笔记(6)VBE编辑器,VBA工程,各种窗口
- 消费者理论:效用函数
- Android 经典原生壁纸,福利:精选安卓之父手机原生壁纸 曾力抗苹果华为 如今仅剩经典!...
- 如何裁剪图片,裁剪图片的几个方法
- php+mysql系统网站,PHP+MYSQL 网址导航系统开源 网站分类目录管理系统
- 企业邮箱域名怎么填写,企业邮箱号怎么注册?
- Qt 5.15 在线安装
- 网络编程第三方库——Libnet库(发送)
热门文章
- linux编译 __stdcall,Linux下的stdcall 约定格式
- java条形码解析_Java 生成、识别条形码
- 微信小程序switch样式修改
- 信息系统基础知识(笔记)
- mysql数据库备份方法有几种_MySQL数据库备份的几种方式
- 数学史思维导图_趣谈数学历史:数学发展简史思维导图——中国、外国数学发展...
- 2.14 视图的分页预览以及分页符的使用 [原创Excel教程]
- bootstrap完整左侧导航栏代码及结果样式
- VMware虚拟机安装Win10系统后出现蓝屏
- 计算机设备替换法,同义词替换表的挖掘方法及装置、电子设备、计算机可读介质与流程...