(解除复制限制)(解除复制限制的快捷键)

Automa是一款开源的图形化&低代码爬虫工具,让用户在不懂代码的情况下,通过拖拽方式做一些实用的爬虫。例如爬取微博信息、批量搜索百度、解除某些网站不可复制限制、下载抖音视频、免费看VIP视频等等。

本系列教程将先介绍它的基本使用,然后基于它做一些有趣的项目实践(包括但不限于上述所举的例子)。本文是该系列的第三篇文章,实现一个抓取微博的爬虫。

第一篇文章参见

第二篇文章参见

一、微博爬虫的实现思路

在做研究时,我们常常需要抓取微博内容来作为基础分析材料。微博爬虫就是干这个事情的。

提供两种微博爬虫的实现思路:

  1. 从微博页面抓取对应元素;比如下图中,直接获取每条微博html元素对应的文本。
  2. 从微博接口抓取对应内容;这要求我们掌握一定的网络接口分析能力,能够找出获取微博内容的接口。

为了尽可能多的演示Automa组件,我们采用思路2进行实现。(思路1与系列二文章类似,感兴趣的读者可以自行实现)

爬取这类需要登录的网站,Automa的一大好处是提前手动登录网站后,后续就不需要再考虑登录问题了。

(解除复制限制)(解除复制限制的快捷键)

二、实现方案

确定了实现思路后,我们使用Automa来实现对应效果。

先给出整个项目的工作流,如下所示,然后我们再一一介绍对应的组件及其参数。

(解除复制限制)(解除复制限制的快捷键)

1、触发器、新建标签页

这两个组件在上一篇文章中已经介绍了。这里不再赘述,不清楚的同学可以去看原文。

2、HTTP请求

该组件是用于在浏览器中请求接口,参数对应如下。具体来说,就是设置请求方法为GET,URL为微博列表的api,内容类型和超时都默认。响应设为JSON,Data Path为返回json中我们需要的字段,然后把这个值赋给变量mblog_list(可以随意命名)

(解除复制限制)(解除复制限制的快捷键)

有朋友可能问,这个获取微博列表的api是怎么找到的。其实,通过浏览器-开发者模式(F12)-网络,就可以看到这个接口的URL了。

(解除复制限制)(解除复制限制的快捷键)

我们再来看下它返回的json数据。每条微博内容为data.list里的每一项,这也就是组件参数里data path填写data.list的原因。

(解除复制限制)(解除复制限制的快捷键)

3、循环数据

这个组件用来遍历变量或表格等。我们需要遍历data.list里的数据(也就是mblog_list变量),因此参数配置如下:

(解除复制限制)(解除复制限制的快捷键)

需要注意的是,这个组件需要和 循环断点 这个组件搭配使用。当变量遍历完成后,才会执行循环断点组件 后续的操作(组件右边连线的操作)。

4、插入数据

这个组件用于将数据写入到表格中。参数如下所示,其中loopData.loopid表示当次循环的变量,loopid指的是循环组件具体id。从前面json返回数据中可看出,text_raw为存储微博本文的字段。所以这个参数为{{loopData.ljffPi.text_raw}}

(解除复制限制)(解除复制限制的快捷键)

到此,抓取微博的爬虫就已经实现了。我们点击右上角的运行按钮来看下效果。(微博页面看不到任何变化,因为不涉及网页元素操作。只是在后台发送http请求并解析)

(解除复制限制)(解除复制限制的快捷键)

有朋友可能发现了上述实现的问题:抓取到的文本是未展开的微博内容;只能抓取到一页微博。那如何循环抓取多页的微博全文呢?应该如何实现呢?欲知后事如何,请听下回分解~

(如果需要完整例子项目文件、或者对步骤还存在疑问的朋友,可以在评论区留言或者私信)

后面文章会做一些更复杂、更有趣的例子,敬请期待~

如果你有什么想做的爬虫,也可以在评论区留言哦~

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者一禾的认知觉醒之路所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(解除复制限制)(解除复制限制的快捷键)
本文链接:https://www.51qsb.cn/article/m8skq.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-02-08
下一篇2023-02-08

你可能还想知道

发表回复

登录后才能评论