Web Scraping 系列:使用 Python 和软件

1\。在不使用软件的情况下抓取网页:Python

2\。使用软件抓取网页:Octoparse

简介

为什么这篇文章?

本文是网络爬虫系列的第二篇......

正如我之前在第一篇文章中提到的,我选择写关于抓取的文章是因为在构建我的项目 Fake-News Detection System 时,我花了几天的时间来研究它,因为我无法找到数据集根据我的需要。

所以,如果你没有读过我的第一篇文章,我强烈建议你读一遍,如果你有编程背景,那么你必须阅读本系列的第一篇文章。

这篇文章对谁有用?

因为,对于有编程背景的用户,我已经写了一个博客并且对 python 有专门的了解,我建议使用它而不是任何软件来进行抓取,因为我发现使用 python 比花费更容易做到这一点几天了解任何特定软件的界面。

但是那里的人,特别是没有任何编程背景的人,你可以跟我一起熟悉这个软件的界面和工作。

概述

本文涵盖了该系列的第二部分,使用软件抓取网页:Octoparse

但是,您可以在互联网上轻松找到许多用于自动化目的的软件,例如

ParseHubScarpeSimpleDiffbotMozenda

diff 自动化软件简介:

1.ParseHub:

网址:https://www.parsehub.com/

目的: Parsehub 是一款出色的工具,无需编码即可构建网络抓取工具以提取大量数据。它被数据科学家、数据记者、数据分析师、电子商务网站、工作委员会、营销和销售、金融等等使用。

**特点:**它的界面非常简单易用,您只需单击所需的数据即可构建网络爬虫。然后以 JSON 或 Excel 格式导出数据。它有许多方便的功能,例如自动 IP 轮换、允许在登录墙后面抓取、浏览下拉列表和选项卡、从表和地图中获取数据等等。此外,它还有一个慷慨的免费层,允许用户在 40 分钟内抓取多达 200 页的数据! Parsehub 也很不错,因为它为 Windows、Mac OS 和 Linux 提供了桌面客户端,因此无论您运行什么系统,您都可以在计算机上使用它们。

2.ScrapeSimple:

网址:https://www.scrapesimple.com

目的: ScrapeSimple 是为想要为他们构建定制刮板的人们提供的完美服务。网页抓取就像填写表格一样简单,其中包含您想要什么样的数据的说明。

特点: ScrapeSimple 名副其实,提供完全托管的服务,为客户构建和维护自定义网络爬虫。只需告诉他们您需要哪些站点的信息,他们就会设计一个自定义网络抓取工具,以 CSV 格式定期(可以是每天、每周、每月或其他)将信息直接发送到您的收件箱。该服务非常适合只需要 html 抓取工具而无需自己编写任何代码的企业。响应时间很快,服务非常友好和乐于助人,这使得这项服务非常适合那些只想为他们处理完整数据提取过程的人。

3. 差异机器人:

网址:https://www.diffbot.com

**用途:**有特定数据抓取和屏幕抓取需求的企业,特别是那些抓取经常更改其HTML结构的网站的企业。

特点: Diffbot 与大多数页面抓取工具不同,它使用计算机视觉(而不是 html 解析)来识别页面上的相关信息。这意味着即使页面的 HTML 结构发生变化,只要页面在视觉上看起来相同,您的网络抓取工具就不会损坏。对于长期运行的关键任务网络抓取作业来说,这是一个令人难以置信的功能。虽然它们可能有点贵(最便宜的计划是每月 299 美元),但它们在提供优质服务方面做得很好,这对于大客户来说可能是值得的。

4.Mozenda:

网址:https://www.mozenda.com/

**目的:**寻找基于云的自助网页抓取平台的企业无需再寻找。 Mozenda 拥有超过 70 亿个页面,在为来自世界各地的企业客户提供服务方面拥有丰富的经验。

特点: Mozenda 允许企业客户在其强大的云平台上运行网络爬虫。他们在客户服务方面与众不同(为所有付费客户提供电话和电子邮件支持)。它的平台具有高度可扩展性,并且还允许进行本地托管。与 Diffbot 一样,它们有点贵,最低计划起价为每月 250 美元。

  • 虽然我将在本文中详细讨论 Octoparse,因为我只使用过它。

八爪鱼

网址:https://www.octoparse.com/

目的: Octoparse 是一款出色的工具,适用于想要从网站提取数据而无需编写代码,同时仍通过易于使用的用户界面控制整个过程的人。

特点: Octoparse 是想要在不学习编码的情况下抓取网站的人的完美工具。它具有点击屏幕抓取器,允许用户在登录表单后面抓取、填写表单、输入搜索词、滚动无限滚动、渲染 javascript 等等。它还包括一个站点解析器和一个托管解决方案,供希望在云中运行抓取工具的用户使用。最重要的是,它带有一个慷慨的免费层,允许用户免费构建多达 10 个爬虫。对于企业级客户,他们还提供完全定制的爬虫和托管解决方案,他们负责为您运行一切并直接将数据交付给您。

从 1000 篇新闻文章中提取数据的分步说明

第 1 步:下载 Octoparse

  • 访问网站:https://www.octoparse.com/download

  • 并遵循社区的指导方针。

第 2 步:注册

  • 下载安装完成后,如果您之前没有创建过账号,请注册。

第 3 步:探索它

  • 在自己开始之前,我强烈建议您探索它的不同部分,这些部分最终将帮助您在以后处理此界面时与此界面进行交互。

  • 浏览热门模板部分,有一些热门网站的热门模板,您可能会在那里找到所需的数据。

  • 浏览模板模式和高级模式的教程

第四步:输入网址

  • 如果您只想从一个网站抓取数据,您只需将复制的 url 粘贴到主页并单击开始即可。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--1r_oWOaH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/7kff58yiln724rx8lzcz.PNG)

  • 但是如果你想从多个网站上抓取数据。然后,转到新选项卡,然后单击高级选项。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--DevJPicE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/zme7zmn3ilm02xwxlho9.PNG)

  • 您将看到一个像这样的新窗口,您可以在其中使用更高级的选项轻松组织您的工作并跟踪您的目录。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--PfU4AAo3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/lmocbeyv1zrbt59z5w6t.PNG)

  • 因此,您可以在此处上传多达 10k 个不同的 URL,但条件是这些不同 URL 的布局应该相同,以便能够一起提取数据,否则它将自动执行该过程,但会为您提供不同网站布局的单独结果。因此,您不会将所有数据合并在一起。

第 5 步:指定抓取详细信息和属性

点击保存,你会看到一个像这样的窗口:

其中,左侧部分用于维护工作流程,中心将显示您输入的第一个 url 的网页,下面的部分将显示数据预览。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--fi5FHe9y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/2w2xl43cbw8s1h5yuxeg.PNG)

  • 在那里,您有两个选项可以进一步移动:自动检测网页数据

您可以选择“自动检测网页数据”,它会根据它的理解抓取 imp 功能,并返回五种不同的结果。您可以在其中选择跳过对您无用的内容,或者在抓取后保留它所有属性根据您的意愿。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--e6VSHexX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/h56zk6he0kcy46vtpwzd.PNG)

在下面的对话框中,您可以根据需要选择进行编辑。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--pTxwhgsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/fb6u0k7ic9wqfc68t4yd.PNG)

因此,在上图中,您提供了 3 个选项,您可以根据需要启用或禁用它们。

  • 第一:向下滚动页面以加载更多数据。 因此,如果一个网页没有分成不同的页面,可能所有数据都在同一个页面上并用于提取所有数据需要的是启用“加载更多数据”选项。

  • 秒:点击next按钮多页截图

启用它将对您选择为“下一步按钮”的页面进行分页。

  • 因此,它将允许您 checkedit next 按钮。单击 check 后,您将在自动检测到的网页部分上看到 next button 突出显示。

  • 如果未自动正确检测到,请单击 edit > 现在单击网页屏幕上您想要检测为“next”按钮的任何内容。因此,例如,假设没有“next”按钮,而是“>”作为“next button”工作,或者如果您不想自动化该过程抓取到网页的最后一页,您可以选择分页到特定页面,例如:“1”、“2”、“3”等.. .

  • 第三个:点击state_url抓取后面页面的数据

*它将允许您捕获随后的页面的内容或文本,并制作另一个包含文本的属性(意味着页面的内容在点击特定的 url 时打开)。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--0SPbxFy_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/2jx91af6kdk2exz875ji.PNG)

  • TIPS中多了一个选项,“切换自动检测结果(1/5)”,所以点击这个链接,你会看到5组不同的自动检测数据集。你可以按照你的需要。

  • 编辑完成后点击“保存设置

  • 您可以在“数据预览”中查看抓取结果,也可以编辑“属性名称”。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--hf2rTaeG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/jigbp41kz0si3pyxkx09.PNG)

  • 您将看到工作流程的变化如下:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--hUAhvMrB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/1zfpv3ehoe8xs87cwo0m.PNG)

手动编辑任务工作流

  • 或者您可以根据需要选择手动编辑工作流并从网页中选择特定元素作为属性显示在数据集中。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--w7N8v7-z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// dev-to-uploads.s3.amazonaws.com/i/m4cx9kk5l6oonbe8jktn.PNG)

  • 在那里,在指向向下箭头时,您会发现一个“+”号来根据您的需要添加元素。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--ZHp6Og1d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/0f6sz2ugfda5mdutzjvj.PNG)

  • 它将帮助您在工作中变得具体和有条理。与之前自动检测数据的情况一样,它会自动抓取太多不相关的属性。因此,要具体说明您的需求,我建议您选择第二个选项。

  • 它还允许您重命名、删除或编辑任何特定元素,或者您可以根据需要选择更改设置。

  • 我将通过提取 1000 篇具有 6 个属性的文章的示例向您展示:News HeadlineLinkSourceStated onDate、* 图片_url*。

手动提取数据

  • 要提取所有这些,请转到网页部分 > 选择第一篇文章的具体详细信息,例如:“新闻标题”、“新闻链接”、“新闻来源”、“声明日期”、“日期”> 按只需在第一篇文章上单击这些项目 > 该部分将突出显示,如下面的窗口所示:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--9T-IGBY3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// dev-to-uploads.s3.amazonaws.com/i/3goapijwpdv6t62d0ohb.PNG)

列出网址首页上所有新闻文章的数据提取

  • 然后,选择“全选”选项将选择每篇文章的相同具体细节,直到网页的最后一个。您将在数据预览中看到捕获的 30 行,如下所示:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--pcp9gt1q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/r678md3sloe6h8h151he.PNG)

  • 现在,单击“提取数据”选项将提取输入网址第一页上列出的所有文章的所有详细信息。

  • 您现在可以看到工作流程的变化:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--53YtIHBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/cv18c8ru8apg8ud5tpcj.PNG)

  • 将打开一个对话框,要求提取更多元素:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--WfAENovQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/jekmttyzcv3lamtqlb0j.PNG)

  • 由于我们没有抓取图片_url,我们将单独选择它,并且与上面列出的过程相同:

  • 在网页部分选择图片:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s---uw8DhOH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev -to -uploads.s3.amazonaws.com/i/0gugpzsgfeltw4sm8df6.PNG)

  • 将出现一个带有差异选项的对话框 > 选择“全选”选项。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--KfQ5NqSs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/7kt4ft51fzry8otkzgru.PNG)

  • 将出现另一个弹出窗口,要求选择差异选项 > 选择“提取图像网址

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--xIvCANMb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/jsnlufv5louqlzgs7dqz.PNG)

  • 并且您已经完成了对第一页的所有新闻文章的抓取图像 url 并且它将为您的数据预览添加一个新属性。

  • 这是编辑属性名称后数据预览的样子:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--Gep0s2MG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/gdy1hl6hu5blwbhpi8r0.PNG)

  • 再次弹出一个窗口,要求提取更多元素,因为我们不想从超过一页中提取数据,我们将进行分页。

分页

  • 现在,如果您需要大量数据,您可以循环到特定页面或列出的 url 的最后一页。

  • 要进行分页,您只需搜索为特定网页指定下一页的关键字,例如:“next”、“>”或任何其他内容。 > 单击该关键字 > 在我的情况下,它是“next”按钮本身 > 单击它 > 它会突出显示并会弹出一个新窗口。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--PcpIDfLu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/6kj2ejuuvk72elmdjnes.PNG)

  • 选择“循环点击下一页

  • 完成后,您的工作流程现在看起来类似于 auto one 的工作流程。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--mxXVnUmw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/5oxy7bg71nim7871s3g2.PNG)

  • 完成所有编辑并整理好数据后,单击保存并运行。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--SPBxStUO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/b06c7acu2xx7f0mh0g4o.PNG)

步骤 6:将数据导出到您的机器

  • 单击 saveRun 选项将打开一个新窗口,其中列出了 3 个选项来选择如何运行它。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--kjDGQsKh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/cg3svfdpitwc9co0aa6f.PNG)

  • 如果您是高级用户,只有这样您才能访问最后两个选项,这些选项具有每天、每周、每月和更多其他功能等功能。他们的服务器将处理您的数据并在根据您选择的任何操作进行组织后将其发送给您。

  • 如果您不是免费用户,请选择第一个选项“在您的设备上运行任务

  • 它将开始提取所有数据,并且您在提取数据时需要注意虽然它是通过自动化完成的,因为如果数据限制超过10k,它将停止并且您将不得不再坐一个小时等待从头开始提取它。

您还需要唤醒系统,因为如果您的屏幕在提取数据时处于休眠状态,它可能会在此时停止提取数据,并且您将不得不再次启动它以尽可能多地提取数据。

  • 选择“导出数据”:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--SPBxStUO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/b06c7acu2xx7f0mh0g4o.PNG)

  • 选择保存文件的格式:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--H5useJeT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/wm07m77lzhzap6z89gjd.PNG)

  • 所以我选择将我的文件提取为 .csv 文件并将其保存到我的桌面并且不要关闭此窗口,我们将使用它再次将数据提取为 .xlsx 格式。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--d3GSrgz0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/xmvxxo4sx5dhh1j42aey.PNG)

  • 现在,让我们看看我们提取的数据。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--QNS48LBJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/q3x6nrqwvq7zrtoyfvnx.PNG)

哦-哦!它的形式很可疑,根本不可读和有条理

让我们再次进入导出窗口:导出数据 > 这次选择 .xlsx 格式 > 点击确定。

  • 现在,让我们看看以 .xlsx 格式导出的数据。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--3xGTdzOt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/prypz1373m1uhwiksk0l.PNG)

瞧!现在,确实有道理,现在所有的歧义都从我们的数据中删除了。

步骤 7:使用公式格式化 Excel 文件

检查数据集

  • 你要做的第一件事是检查你的数据集,在检查我的数据集时,我发现了一些在抓取时无法编辑的不相关的东西。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--xvTrDp9p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/qdmpah69f7b596dpnsd0.PNG)

所以我们将对excel文件做一些格式化任务。

I. 看看我的“Image url”属性,所以我提取图像 url,从中提取标签,由于标签值写在图像 url 中,我没有找到更好的提取选项它。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--dL0oKa_x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/2x7f4p44st901iniv25v.PNG)

  • 因此,如果您仔细注意到“Image url”属性,则有一个小字符串“.jpg”和一个更大的字符串“https://static.politifact.com/img/meter -" 这对于“Image url”属性的所有行都是通用的。

  • 因此,我们将两个字符串都替换为“”以获取我的标签值。

  • 按 ctrl+H > 用“.jpg”填充字段“find what”,然后用“”填充字段“replace with”(意味着您不必在那里指定任何内容)>单击“全部替换”>按“确定”,您的标签就完成了。

1.

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--4TuS1SOK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/kxq1kutapef5d6txh8e3.PNG)

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--GxFgs7gk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/5ob3qu9z1oo3jq4r81x0.PNG)

2.

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--48fzSVT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/w0thk5wqn3bqd8icblgx.PNG)

这是您的属性在格式化后的样子,

3.

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--o2L9Bu94--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/1mp29hbrhg0eavuvusf6.PNG)

  • 如您所见,它还有两个问题,首先是第一个单元格中的值是一个超链接。其次是额外的空间。

1.要从特定单元格中“删除超链接”>右键单击它>从下拉列表中选择“删除超链接”。并从整个列中删除>选择整个列>右键单击它>从下拉列表中选择“删除超链接”。

2.要从特定属性中删除“额外空格”>转到任何空单元格>编写公式:\u003dTRIM(属性第一个单元格的地址)>按Enter>您将看到第一个单元格的格式化值> 将更改应用到所有单元格 > 将第一个单元格拖放到特定属性的最后一个单元格。 > 您将看到以应用格式插入的所有值 > 现在用旧列替换新列 > 通过完全选择新列 > 复制它 > 然后,在需要粘贴的位置完全选择旧列 > 转到粘贴选项 > 选择粘贴值(V) 下拉选项。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--f5Lf4_l2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/q8gvrdwlcllrrk38fx49.PNG)

极好的!您已经完成了“Label”列。

现在看看:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--v56tsTe5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/gpnr4czo12qie8mndlmq.PNG)

II. 看看我的另一个属性“Stated On”,我关心的数据只是日期。

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--L9GAmKA9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/cye9jf39937d01c2frp6.PNG)

要删除除此之外的文本,我们将分两步进行:

  • 正如您已经看到的那样,对于在整个列中重复的类似字符串模式,我们可以使用以前的模式来查找它并将其替换为空。因此,对于“说明”的子字符串,我们将用任何内容替换它。

这就是我们的专栏的样子:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--_YVzWCRB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/qntokxf6vwml1c1r9r2b.PNG)

  • 注意到上图,你会发现该列的所有行的其他子字符串都不同,那么如何处理呢,因为我们只想要日期,所以这次我们将其提取:

让我们看看:在一个新的空单元格中 > 键入命令“\u003dMID(属性的第一个单元格的地址,要提取的字符串的起始索引,要提取的字符数” >按回车 > 您将看到第一个格式化值 > 然后,重复上述步骤以更改所有值并将其替换为新值。

写公式的格式:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--PYTKWZS2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/o5f1yutinfdqaj9pbghg.PNG)

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--yx0ShIp8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/94dgd7ej9s2q91o8y6bi.PNG)

按回车键:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--sKPQbIYF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/u30mt86acsfcxsrt8ise.PNG)

看看新的“Stated on”属性:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--salLbXFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/mpdkq1kfjjk8vwau8gko.PNG)

III. 在“Date”属性中,我们不想要除日期以外的文本,也不能在这里使用“mid”公式,因为日期指定在后缀一个字符串&没有关于起点的明确性,因为它对于所有差异单元格都在变化。

所以,我们将通过使用“RIGHT”来完成这个任务:

转到新的空单元格 > 键入命令“RIGHT(E2,LEN(E20-FIND("•",E2))” > 按 Enter > 并执行与上述相同的步骤以将新列插入的值替换为旧值。

1.写公式:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--8ncfqSjH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/ixu3mxq0gx3qbw41fc5y.PNG)

2.按回车:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--9wo-fYfQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https:// dev-to-uploads.s3.amazonaws.com/i/kbtwofo433tarcgzx7ft.PNG)

  1. 新列将如下所示:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--Jep9nbvA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/fz3pleb0ugcajzo0trg4.PNG)

所有格式化后的最终数据集:

[Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--2FfbPpak--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/i/lpo51lr0ecvnlt6czyjc.PNG)

所以,这些数据现在已经全部清理完毕并可以使用了,我希望你们会发现这篇文章对你们有用和有用。请在评论框中分享您对此的想法,如果您有任何疑问,请告诉我。 ✌️

您可以通过以下方式与我联系:

  1. 订阅我的YouTube 频道以获取即将推出的视频内容这里

  2. 通过LinkedIn联系并联系我

Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐