Automa是一款开源的图形化&低代码爬虫工具,让用户在不懂代码的情况下,通过拖拽方式做一些实用的爬虫。例如爬取微博信息、批量搜索百度、解除某些网站不可复制限制、下载抖音视频、免费看VIP视频等等。
本系列教程将先介绍它的基本使用,然后基于它做一些有趣的项目实践(包括但不限于上述所举的例子)。本文是该系列的第二篇文章,实现一个自动展开微博的爬虫。
第一篇文章参见 「低代码爬虫系列一」Automa实现一个天气预报爬虫
当我们在pc上刷微博时,微博页面会自动对长内容进行折叠。如果想要查看去全文,需要我们一一点击“展开”按钮来查看全文。那能不能实现一个爬虫,打开想要查看的微博页面,自动点击“展开”按钮呢?
了解了上述背景后,我们使用Automa来实现对应效果。
先给出整个项目的工作流,如下所示,然后我们再一一介绍对应的组件及其参数。
1、触发器
整个工作流的开始节点。每条工作流都有这个触发器组件,默认是手动触发模式。
2、新建标签页
该组件是用于在浏览器中打开一个新的页面,双击该组件,在左侧参数栏填入对应博主的微博页面地址。
3、点击元素
模拟点击页面对应元素。这里我们需要点击每条博文中的“展开”按钮。Automa支持通过css选择器或者xpath来定位元素,通过开发者模式,不难得到“展开”按钮的css选择器为span.expand。在参数设置中勾选多选、等待选择器。
4、滚动元素
模拟页面左右滚动或者上下滚动的效果。由于微博是采用下拉异步加载的方式来实现之前的博文的,所以如果想要看之前的博文,就需要模拟下拉的功能,设置垂直滚动为10000即可。
5、延时
由于页面需要一定的加载时间,这里我们加入一个延时操作。即每次滚动下滑后,等待1000ms;
6、再次点击元素
和步骤3完全相同,对新加载的微博,再次点击“展开”按钮。
7、循环
类似程序设计中的循环功能。这个组件接口略微有点复杂,我们介绍下它的连线接口:
还需要设置对应的循环次数,这里我们设为3,表示将第4、5、6的步骤重复三次;
8、回到页面最上方
使用滚动组件,将垂直滚动参数设为-10000,如图所示:
到此,自动展开微博内容的爬虫就已经实现了。我们点击右上角的运行按钮来看下效果。
有朋友可能不仅想要自动展开内容,而且要自动抓取对应微博到excel,这应该如何实现呢?欲知后事如何,请听下回分解~
(如果需要完整例子项目文件、或者对步骤还存在疑问的朋友,可以在评论区留言或者私信)
后面文章会做一些更复杂、更有趣的例子,敬请期待~
如果你有什么想做的爬虫,也可以在评论区留言哦~