好用的文章采集工具(优采云 实战模拟一下如何进行数据采集(图))
优采云 发布时间: 2021-12-25 21:05好用的文章采集工具(优采云
实战模拟一下如何进行数据采集(图))
在上一课中,我向您介绍了数据采集
的来源。关键工具之一是优采云
。今天我们将使用优采云
来模拟如何采集
数据。
文末可以看我的操作过程视频。
优采云
基本操作
在开始操作之前,先介绍一下今天主角要说的“优采云
”工具。相比用Python爬取,优采云
更容易使用,因为它是一种所见即所得的方法,基本上不需要代码,除了匹配正则表达式时使用XPath。
这里简单介绍一下XPath,XPath的英文是XML Path Language,是XML的路径语言,用于在XML文件中查找我们想要的元素。所以优采云
可以使用XPath来帮助我们更灵活的定位我们想要查找的元素。
自定义任务 VS 简单集合
如果要采集
数据,则需要创建一个新任务。创建任务时,优采云
会提醒你是使用优采云
自带的“简单集合”还是自定义任务。
Easy 采集
集成了一些流行的模板,这些模板是我们经常访问的一些网站。它可以帮助我们轻松实现采集,我们只需要告诉工具两条信息,一个是需要采集的URL,一个是登录网站的账号和密码。
虽然简单采集更方便快捷,但通常还是推荐使用自定义任务,这样可以帮助我们更灵活的提取我们想要的信息。例如,您只想采集
有关“D&G”的微博评论。
工艺步骤
优采云
的集合包括三个步骤:
输入网页:每个采集
都需要输入您要采集
的网页。创建新任务时,这是必需项。
设计过程:这一步是最关键的,需要告诉优采云
如何操作页面,要从页面中提取什么信息等等。因为数据项比较多,通常需要翻页,所以需要设置翻页的周期。在设计过程中,可以使用简单的集合方式,即优采云
自带的模板,也可以使用自定义方式。
开始采集:设计采集流程后,即可开始采集任务。任务结束后,优采云
会提示你保存采集到的数据,一般是xlsx或者csv格式。
如果使用自定义采集,则需要自己设计采集流程,这是采集流程的第二步。优采云
工艺步骤有两种,可以分为基本步骤和高级步骤。
基本步骤是最常用的步骤,每个集合都会用到。一共4个步骤,分别是打开网页、点击元素、循环翻页、提取数据。
高级步骤是一个辅助步骤,可以帮助我们更好地提取数据。比如我们想要某个关键词数据,就需要在网页输入框中输入相应的文字。有时源网页的系统会提示您输入验证码,我们可以使用验证码识别模块来帮助我们解决。有时我们需要使用下拉选项来帮助我们过滤我们想要的数据,或者在某些判断条件下(例如存在某个关键词)来触发采集
。这些操作可以更精细地提取所需的数据。
先介绍一下基本步骤:
1. 打开网页
默认情况下,所有集合的第一项是打开网页。所以新建任务后,系统会提示你输入URL。输入后,优采云
会自动建立一个“打开网页”的流程。
2. 点击元素
这里元素的定义比较广泛,可以是按钮,也可以是链接,也可以是图片或文字。使用此步骤是您正在搜索或提交请求。当你点击元素时,优采云
会提示你想要实现的目标:点击按钮,采集
元素的文本,或者将鼠标移动到链接上。然后选择“单击按钮”进行确认。
如果点击某个元素的目的是循环页面或者提取数据,那么点击后优采云
会确认你的目的,你只需要点击相关按钮即可。
3. 循环页面
很多数据都有翻页的情况,通常需要找到翻页的位置,比如网页底部的“下一页”按钮,点击它,会提示“点击下一页”循环页面”、“采集
链接文本”或“单击链接”。这里需要确认“循环点击下一页”。
4. 提取数据
在网页上选择要提取的页面范围,将鼠标移动到页面上会出现蓝色阴影区域,表示要提取的数据范围。然后单击鼠标,选择右侧的“采集
数据”。
这 4 个基本操作就像它们的名字一样简单明了。这里我给大家一些使用建议:
尽量使用用户的操作视角来模拟操作,而不是在“过程视图”中手动创建相应的步骤。因为优采云
最大的特点就是所见即所得,所以一切都可以按照用户的流程来做。
使用“过程视图”方便管理和调整。右侧有一个“流程视图”按钮,点击进入流程视图,您之前的操作就会以流程图的形式展示出来。我会在文章下面详细介绍。
你为什么这样做?这样,每一步的过程就一目了然了,还可以对每一步的参数进行调整。例如,您之前的网址错误,您想修改它,或者您之前输入的文字需要调整。
此外,在很多情况下,您需要使用帐户登录才能采集
数据。我们可以提前登录优采云
工具,这样你开始爬的时候就登录了,直接采集
就可以了。
采集
微博“Dolce&Gabbana”评论
了解基本步骤后,我们就可以自行采集
内容了。比如我想在微博上采集
对“D&G”的评论,我可以在浏览器上手动操作整个过程,并整理出以下步骤。
这些过程是如何完成的?让我一一为你整理。
1. 进入网页
对应基本步骤“打开网页”,我们输入微博搜索的地址。
2. 输入 关键词
对应“输入文字”,我将鼠标移动到输入框,点击后,右侧会确认操作目的,选择“输入文字”,然后输入我们要搜索的内容“D&G” ”。
3. 点击搜索
对应“点击元素”,我们点击“搜索按钮”,然后确认操作的目的是“点击元素”。
4. 设置翻页
因为要采集全量数据,所以需要先设置翻页。这里要特别注意,翻页的操作必须在数据抽取之前,因为翻页是一个循环命令,就像我们平时写for语句一样,要先设置for循环,然后在循环中进行数据抽取。
5. 提取数据
提取数据时,我们需要提取多个字段,比如用户、微博内容、发布时间、微博网址等。而且一页会有多条微博,都需要采集
。所以需要先选择单条内容的最大目标区域。当你确认目的的时候,你会发现里面有子元素。这里的目的是“选定的子元素”。因为我们要采集
子元素的内容,所以按照字段来划分内容是很方便的。这时候会提示页面有20个相同的元素,选择“全选”即可。
6. 开始采集
全部选择完成后,系统会给出三个提示,分别是“开始本地采集”、“开始云采集”和“设置定时采集”。当数据量不大时,我们可以选择“开始本地采集”。
可以看到,整个过程比较简单,但是中间有一些细节可能会出错。比如你忘记先翻页,然后选择要提取的元素。所以如果遇到问题,有两个重要的工具一定要用好:进程视图和XPath。
过程视图
流程视图我上面提到过,这里有详细的介绍。过程视图应该是可视化中最常用的场景。我们可以使用流程视图来查看创建流程,调整顺序,或者删除不需要的步骤。
此外,我们还可以在视图中查看提取的字段。选择“提取数据”这一步,可以看到这一步提取了哪些字段。一般会出现很多多余的字段,因为HTML代码片段中有很多隐藏的内容也会被提取出来,这里可以删除无用的字段,修改保留的字段名。
这里有一张图,是我通过优采云
的可视化操作采集
微博评论时自动生成的流程视图。
XPath
介绍完流程视图,再来说说XPath。XPath引擎内置于优采云
工具中,所以当我们视觉选择元素时,会自动生成对应的XPath路径。当然,我们也可以查看这些元素的XPath,方便对其进行精细控制。
为什么我需要自己用可视化操作来定义XPath?
这是因为有时我们采集
的网页是不规则的。比如可以看到,在微博搜索结果页面中,第一页和第二页的HTML布局是不同的。在这种情况下,可视化操作得到的XPath可能不是通用的。在这种情况下,如果使用从搜索结果第一页提取数据得到的XPath,则无法匹配到搜索结果页第二页的数据。
在优采云
工具中,很多控件都有XPath,最常用的是循环和提取数据中的XPath。让我一一简要介绍一下。
循环中的 XPath
在微博采集
的例子中,我们使用了两种循环方式,一种是“循环翻页”,一种是“循环列表”。
在“翻页”中,您可以单击“流程视图”中的“翻页”控件,您将在右侧的“高级选项”中看到XPath。以微博采集
为例,翻页的XPath为//A[@class='next']。
在“循环列表”中,我在提取数据时,页面提示“有20个相同的元素”,然后我选择“全选”。它相当于一个收录
20 个元素的循环列表。因此在流程视图中,您可以看到嵌套在提取数据之外的循环列表。同理,我们可以看到循环列表的XPath为//DIV[@class='card-feed']。
XPath 提取数据
当我们在过程中点击“Extract Data”时,可以看到有很多字段名,XPath其实是定位到这些要采集的字段。因此,您需要选择一个字段以查看其 XPath。
现在你知道优采云
的匹配是基于XPath的,所以你也可以自己调整XPath参数。这样,当无法匹配到想要的数据时,可以检查是否是XPath参数设置的问题,可以手动调整抓取到正确的元素。
总结
今天给大家讲了优采云
的使用,接下来就带大家实现一个微博采集
的例子。你可能要问了,我为什么要说优采云
这样的第三方工具?
以下是我的一些经验。
我们的工作流程通常很长,所以我们应该专注于我们工作的核心,比如数据分析。所有帮助都可以通过第三方工具完成。如果老板让你统计微博上的评论,其实老板最想知道的不是征集流程,而是整体的概况,比如影响了多少人,评论情况如何,有没有KOL关注等等。
如果您之前没有数据采集
经验,那么第三方工具和使用可视化方法进行采集
应该是您的首选。可视化方式让您快速上手,了解整个数据采集过程。
我们应该从基本步骤开始,然后在满足特定需求时学习理解高级步骤。这篇文章只介绍了基本流程,但是你可以开始。在实际操作中,您可能会遇到各种问题。此时,您将学习高级步骤。如果想要进阶,还需要掌握XPath的使用。
好了,总结一下今天的内容。今天讲了优采云
的任务建立、流程设计,还有一个实际案例。具体的内容总结可以看我整理的下图。
虽然优采云
工具提供了多种简单的采集方式,但还是推荐大家将其作为参考模板使用。您可以看到其他人是如何创建它的。如果你做更多的案例,你会更快地开始。