Automa是一款开源的图形化&低代码爬虫工具,让用户在不懂代码的情况下,通过拖拽方式做一些实用的爬虫。例如爬取微博信息、批量搜索百度、解除某些网站不可复制限制、下载抖音视频、免费看VIP视频等等。
本系列教程先介绍它的基本使用,然后基于它做一些有趣的项目实践(包括但不限于上述所举的例子)。前面文章我们介绍了制作天气预报爬虫、微博爬虫、解除网页不可复制限制等。
本文是该系列的第六篇文章,用Automa实现批量百度搜索爬虫。
一、问题导入
批量百度搜索,指的是将一批检索词扔到百度搜索引擎中,自动化获取对应的搜索结果。
有朋友问,这个功能的运用场景有哪些呢?
例如:你可能不知道这些问题的答案:x5是什么、t3是什么、长江大桥在哪里。那么你就可通过搜索引擎来获取答案。
二、功能实现
先看下整个工作流的实现。大致的逻辑是:遍历每个搜索词,然后模拟输入框输入,模拟按下回车键进行百度搜索,获取对应的自然结果标题和URL,最后导出数据。
我们介绍下这条工作流的各个组件。
1、触发器 标识 整条工作流的开始。
2、活动标签页
该组件指定在当前浏览器活动页面上进行操作,因此不需要URL参数。这里默认活动页是百度搜索页面。
3、循环数据
将我们要搜索的所有query都放在这个循环数据 组件中,如下所示:
4、表单
这个组件的功能是模拟输入表单。在这个工作流中,我们用它来模拟百度输入框的输入,参数如下。有朋友问,css选择器里的input#kw参数是怎么获取的?其实,如果对网页知识不熟悉,可以通过系列一文章中使用的录制功能来自动获取。
5、按键
这个组件的功能是模拟键盘按键。在这里,我们需要在输入对应搜索词后,按下回车进行搜索。
6、元素存在
该组件用于判断页面中是否有对应元素。我们用这个组件判断搜索结果是否已经有了。
7、模块组
该组件的功能是将多个组件组成一个大组件。在这个工作流中,我们利用获取文本组件来得到自然结果标题,利用属性值组件来获取对应的URL。具体参数如下,注意勾选多选,否则只能获得第一个标题和URL。
8、循环断点 和 导出数据
这两个组件在之前文章中已多次使用,这里不再赘述。
通过上述操作,我们实现了批量百度搜索的爬虫。最后,我们来看下整个工作流的运行。
(如果需要完整例子项目文件、或者对步骤还存在疑问的朋友,可以在评论区留言或者私信)
后面文章会做一些更复杂、更有趣的例子,敬请期待~
如果你有什么想做的爬虫,也可以在评论区留言哦~