网页数据采集提取如何格式化数据 您所在的位置:网站首页 八爪鱼采集器论坛 网页数据采集提取如何格式化数据

网页数据采集提取如何格式化数据

2023-08-07 02:07| 来源: 网络整理| 查看: 265

数据采集下来之后,有时候格式不是我们想要的,或者只想从一段数据里提取特定数据。以上需求,可通过八爪鱼的【格式化数据】功能实现。

本教程将结合实例,具体讲解。

 

一、【格式化数据】设置的位置

 

示例网址:https://book.douban.com/subject/4913064/

 

【格式化数据】是对提取到的字段进行格式化操作,我们先按照采集需求,提取字段。本示例中,我们提取此网页中的图书标题、图书简介和图片网址。

 

鼠标放到图片上,右键,选择【在新标签页中打开图片】可查看高清大图

下文其他图片同理

 

字段提取完成以后,鼠标移动到目标字段上,然后点击  按钮,选择【格式化数据】,就会进入【格式化数据】配置页面,也可以是纵向布局时直接点🖊小图标,或是是纵向布局时直接点后面的图标。

 

 

原始值:原始字段

结果:经过格式化步骤后,输出的字段结果

添加步骤:提供8个数据格式化选项:替换、正则表达式替换、正则表达式匹配、去除空格、添加前缀、添加后缀、日期时间格式化、Html。

以下将配合具体案例,详解这8个选项如何使用。

 

 

二、【格式化数据】8个选项详解

 

1、替换

将字段中的部分或全部内容替换为其他内容,支持文字、数字、符号、空格、换行符的替换。

 

实例:如果我们想将字段【436665人评价】中的文本【人评价】去掉,只留下数字【43665】。

 

具体步骤为:

在【添加步骤】中,选择【替换】

【原始值】: 653746人评价

【将】:人评价 

【替换为】:空

点击【测试】,【替换结果】:653746

最后点击【确定】,保存配置即可。

 

 

2、正则表达式替换

用正则表达式将字段中的部分或全部内容找出来,然后将其替换为其他内容,支持文字、数字、符号、空格、换行符的替换。

相比简单的【替换】,【正则表达式替换】更为强大灵活。

 

实例:在采集数据的时候我们发现,红框中的【书籍信息】只能作为一个字段提取下来。如果想要将【ISBN】独立为一个字段,就需要先将整个红框中的【书籍信息】作为一个字段提取下来,然后用【正则表达式替换】将【ISBN】单独提取出来。

 

 

具体步骤为:

 

Step1:【书籍信息】提取下来后,有很多空格,先将所有空格去掉。(如果提取的字段中无空格,可跳过这一步)

在【添加步骤】中,选择【正则表达式替换】

【原始值】: 【书籍信息】(包含很多空格)

【正则表达式】:\s+(这条正则表达式的意思是,找到字段中所有的空格)

【替换为】:空(将找到的全部空格替换为空)

点击【测试】,得到【替换结果】:作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN:9787506365437

最后点击【确定】,保存配置即可。

 

 

Step2:用正则表达式找到【书籍信息】(去除全部空格)中除ISBN编码之外的信息,将其替换为空。

在【添加步骤】中,选择【正则表达式替换】

【原始文本】: 作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN:9787506365437

【正则表达式】:作者:(.+?)ISBN: (这条正则表达式的意思是,找到所有字段中以 作者: 开始,以 ISBN: 结束的部分,且包含 作者: 和ISBN:,所以找到的是 作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN: )

【替换为】:空(将以上找到的内容替换为空)

点击【测试】,得到【替换结果】:9787506365437

最后点击【确定】,保存配置即可。

 

 

这里有个问题,像 作者:(.+?)ISBN: 这样的正则表达式怎么写出来的?怎么根据需求,生成正确的正则表达式呢?

 

正则表达式怎么写?

简单来说,面对大量的文本信息,经常会有查找符合某些规则的字符串的需要。正则表达式就是用于描述这些规则的工具。

正则表达式有一套自己的书写规范,有兴趣的小伙伴可深度学习。点击查看 正则表达式教程

不太熟悉正则表达式,可借助八爪鱼提供的正则表达式工具。

 

八爪鱼的正则表达式工具

八爪鱼提供一套正则表达式工具,可以帮助我们轻松生成正则表达式。点击  字样,即可进入八爪鱼的正则表达式工具页面。现在我们就借助此工具,生成需要的正则表达式。

 

【源文本】: 作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN:9787506365437

【开始】:从某元素开始,但不包含此元素

【包含开始】:从某元素开始,且包含此元素

【结束】:到某元素结束,但不包含此元素

【包含结束】:到某元素结束,且包含此元素

 

本示例设置

【包含开始】:作者:

【包含结束】:ISBN: 

生成【正则表达式】:作者:(.+?)ISBN:

点击【匹配】后,得到【匹配结果】:作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN:

确定无误后,点击【应用】,此正则表达式就生效了,自动填充到【正则表达式】框中,找到内容 作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN:

再将找到的内容,【替换为】: 空 

点击【测试】,得到最终的【替换结果】:9787506365437

最后点击【确定】,保存配置即可。

 

 

除【开始】【包含开始】【结束】【包含结束】外,还有【包含一个】【匹配所有】可选择。

【包含一个】:【开始】到【结束】中需包含某个元素

【匹配所有】:存在1条正则表达式,有多个匹配结果的情况。如果勾选【匹配所有】,则匹配所有结果。如果不勾选【匹配所有】,则只匹配第1个结果。

 

 

3、正则表达式匹配

用正则表达式将字段中的部分或全部内容提取出来。

 

实例:在采集数据的时候我们发现,红框中的【书籍信息】只能作为一个字段提取下来。如果想要将【作者】独立为一个字段,就需要先将整个红框中的【书籍信息】作为一个字段提取下来,然后用【正则表达式匹配】将【作者】单独提取出来。

 

具体步骤为:

 

Step1:【书籍信息】提取下来后,有很多空格,先将所有空格去掉。(如果提取的字段中无空格,可跳过这一步)

在【添加步骤】中,选择【正则表达式替换】

【原始值】: 【书籍信息】(包含很多空格)

【正则表达式】:\s+(这条正则表达式的意思是,找到字段中所有的空格)

【替换为】:空(将找到的全部空格替换为空)

【替换结果】:作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN:9787506365437

 

 

Step2:用正则表达式找到【书籍信息】(去除全部空格)中的【作者】信息。

在【添加步骤】中,选择【正则表达式匹配】

【原始文本】: 作者:余华出版社:作家出版社出版年:2012-8-1页数:191定价:20.00元装帧:平装丛书:余华作品(2012版)ISBN:9787506365437

【正则表达式】:按照我们上面讲的方法,用八爪鱼的正则表达式工具,生成需要的正则表达式。

    【开始】:作者:

    【结束】:出版社: 

     生成【正则表达式】: (?,nbsp;转化为空格等等。

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有