> ## Documentation Index
> Fetch the complete documentation index at: https://www.bazhuayu.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 字段格式化

> 介绍八爪鱼采集器进阶功能：字段格式化。

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

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

 

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

 

示例网址：[https://book.douban.com/subject/4913064/](https://book.douban.com/subject/4913064/)

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/01-656fda83a6e4e.gif?s=13c25ade0d24403ea0d5b1e4f865ddb3" alt="" width="1200" height="800" data-path="assets/academy/advanced-features/field-formatting/01-656fda83a6e4e.gif" />

 

 

字段提取完成以后，鼠标移动到目标字段上，然后点击 <img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/02-65361b44cddae.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=2eda204445507bab61e206ad55871a9b" alt="" className="academy-inline-icon" width="40" height="23" data-path="assets/academy/advanced-features/field-formatting/02-65361b44cddae.png" /> 按钮，选择【格式化数据】，就会进入【格式化数据】配置页面，也可以是纵向布局时直接点🖊小图标，或是是纵向布局时直接点后面的<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/03-65361b44cd34f.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=8d37319c41189aee042d179c321ed1c8" alt="" className="academy-inline-icon" width="40" height="23" data-path="assets/academy/advanced-features/field-formatting/03-65361b44cd34f.png" />图标。

 <img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/04-65361b456d9a5.gif?s=5b69d0bd6619d8df15a6836a108942b6" alt="" width="1833" height="945" data-path="assets/academy/advanced-features/field-formatting/04-65361b456d9a5.gif" />

 

原始值：原始字段

结果：经过格式化步骤后，输出的字段结果

添加步骤：提供10个数据格式化选项：替换、正则表达式替换、正则表达式匹配、去除空格、添加前缀、添加后缀、时间格式化、时间戳转换、时区时间转换、Html。

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/05-656fdbd0cfe06.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=dedc245b3e9e7f8263ad3b63a72d4746" alt="字段格式化" width="1220" height="816" data-path="assets/academy/advanced-features/field-formatting/05-656fdbd0cfe06.png" />

 

### **二、【格式化数据】10个选项详解**

#### **1、替换**

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

实例：如果我们想将字段【808478人评价】中的文本【人评价】去掉，只留下数字【808478】。

具体步骤为：

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

【原始值】： 808478人评价

【将】：人评价 

【替换为】：空

点击【测试】，【替换结果】：808478

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/06-656fdc53751c3.gif?s=754659ffae78f7814d5732d4e71a7b20" alt="" width="1200" height="800" data-path="assets/academy/advanced-features/field-formatting/06-656fdc53751c3.gif" />

 

#### **2、正则表达式替换**

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

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

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

 <img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/07-65361b45d0972.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=e6d8bc9c4a83d7d3a4f576563f605de6" alt="" width="802" height="446" data-path="assets/academy/advanced-features/field-formatting/07-65361b45d0972.png" />

 

具体步骤为：

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

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

【原始值】： 【书籍信息】（包含很多空格）

【正则表达式】：\s+（这条正则表达式的意思是，找到字段中所有的空格）

【替换为】：空（将找到的全部空格替换为空）

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

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/08-65361b465df28.gif?s=2ab65aeb4eeec0dce0882ee09726cca8" alt="" width="1833" height="945" data-path="assets/academy/advanced-features/field-formatting/08-65361b465df28.gif" />

 

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

在【添加步骤】中，选择【正则替换】

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

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

点击【测试】，得到【替换结果】：9787506365437

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/09-656fdd7b6eba4.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=27c01ddbcc339b4be7125fc44172d351" alt="字段格式化" width="1215" height="808" data-path="assets/academy/advanced-features/field-formatting/09-656fdd7b6eba4.png" />

 

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

正则表达式怎么写？

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

正则表达式有一套自己的书写规范，有兴趣的小伙伴可深度学习。点击查看 [正则表达式教程](/docs/zh/academy/advanced-features/data-processing/regular-expression)

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

八爪鱼提供一套正则表达式工具，可以帮助我们轻松生成正则表达式。点击 <img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/10-65361b461d6a7.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=102077d656b69446308a08d45118ea11" alt="" width="265" height="45" data-path="assets/academy/advanced-features/field-formatting/10-65361b461d6a7.png" /> 字样，即可进入八爪鱼的正则表达式工具页面。现在我们就借助此工具，生成需要的正则表达式。

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/11-656fddcf65441.gif?s=6c57c516278d28dc051624abc370fde0" alt="" width="1200" height="800" data-path="assets/academy/advanced-features/field-formatting/11-656fddcf65441.gif" />

 

【源文本】： 作者:余华出版社:作家出版社出版年: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

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/12-656fde3f6defa.gif?s=bc24d98709b73b06ec6d40edcf82023b" alt="" width="1200" height="800" data-path="assets/academy/advanced-features/field-formatting/12-656fde3f6defa.gif" />

 

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

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

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

 <img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/13-65361b46deaed.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=0d0f7e3cbd97a720f01533defc3ce971" alt="" width="876" height="653" data-path="assets/academy/advanced-features/field-formatting/13-65361b46deaed.png" />

 

#### **3、正则表达式匹配**

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

 

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/14-656fdf1abee1c.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=4e958a603b3111c1d800db2a5d67166a" alt="字段格式化" width="1219" height="814" data-path="assets/academy/advanced-features/field-formatting/14-656fdf1abee1c.png" />

 

具体步骤为：

 

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

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

【原始值】： 【书籍信息】（包含很多空格）

【正则表达式】：\s+（这条正则表达式的意思是，找到字段中所有的空格）

【替换为】：空（将找到的全部空格替换为空）

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/15-65361b47a49be.gif?s=ea3a03299a1287d95f3a2cb2d2c619d7" alt="" width="1833" height="945" data-path="assets/academy/advanced-features/field-formatting/15-65361b47a49be.gif" />

 

Step2：用正则表达式找到【书籍信息】（去除全部空格）中的【出版年】信息。

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

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

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

    【开始】：出版年：

    【结束】：页数：

     生成【正则表达式】： (?\<=出版年:)(.+?)(?=页数:)

     点击【匹配】后，得到【匹配结果】

     确定无误后，点击【应用】，此正则表达式就生效了，自动填充到【正则表达式】框中，找到内容2012-8-1

点击【测试】，得到最终的【替换结果】：2012-8-1

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

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/16-656fe0a2a995f.gif?s=3d2f99e40def58f59d9ecad091286c71" alt="" width="1200" height="800" data-path="assets/academy/advanced-features/field-formatting/16-656fe0a2a995f.gif" />

 

#### **4、去除空格**

包括三种，分别是【去除开头空格】、【去除结尾空格】、【去除两头空格】。

实例：【书籍信息】开头和结尾都有一串空格，选择【去除两头空格】后，点击确定，八爪鱼会去除两头的空格。

也可使用前两个选项去除开头或者结尾处的空格。

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/17-65361b4843a66.gif?s=6cf75734e6d395886d93637c2490a422" alt="" width="1833" height="945" data-path="assets/academy/advanced-features/field-formatting/17-65361b4843a66.gif" />

 

#### **5、添加前缀**

为字段添加前缀，很好理解。

 

【原始文本】：9.4

【添加前缀】：评分

【替换结果】：评分9.4

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/18-65361b47d0e7b.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=ecb9ab10acc23ac65acca6b2da197dc1" alt="" width="479" height="517" data-path="assets/academy/advanced-features/field-formatting/18-65361b47d0e7b.png" />

 

#### **6、添加后缀**

为字段添加后缀，很好理解。

【原始文本】：9.4

【添加前缀】：分

【替换结果】：9.4分

 

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/19-65361b4829536.png?fit=max&auto=format&n=QuzqkzBpFZkgPA-G&q=85&s=d28db531b003c910e37872cdcee7bc44" alt="" width="486" height="521" data-path="assets/academy/advanced-features/field-formatting/19-65361b4829536.png" />

 

#### **7、日期时间格式化**

提供多种格式的日期格式，根据需求进行选择。

选中时间字段，选择【日期时间格式化】，将日期转化成需要的格式或者仅提取日期时间中的某一部分。

实例：将2013-10-09 12:27:14预览结果的日期格式转换为 2013-10-19 。

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/20-656fe28c6c603.gif?s=1806a476a16a707b80ebeb807e8ac4b9" alt="" width="1200" height="800" data-path="assets/academy/advanced-features/field-formatting/20-656fe28c6c603.gif" />

 

#### 8、时间戳转换

将具体的时间转换为时间戳，如下将时间2013-10-09 12:27:14转换为时间戳1381292834

<img src="https://mintcdn.com/bazhuayu/QuzqkzBpFZkgPA-G/assets/academy/advanced-features/field-formatting/21-656fe36bb7a8b.gif?s=79980653d0e7952ef33412c4ddc57991" alt="" width="1200" height="800" data-path="assets/academy/advanced-features/field-formatting/21-656fe36bb7a8b.gif" />

 

#### 9.时区时间转换

不同时区时间转换，比如可以蒋北京时间转换为巴黎时间，也可以将巴黎时间转换为北京时间等。

 

#### **10、Html转码**

Html语言是一种超文本标记语言，Html转码是将Html标记转化为普通文本，比如gt;转化为>，nbsp;转化为空格等等。
