网页数据抓取怎么写(WebScraper怎么对付这种类型的网页翻页?(上))

优采云 发布时间: 2021-09-18 08:37

  网页数据抓取怎么写(WebScraper怎么对付这种类型的网页翻页?(上))

  我想解释一下寻呼机是什么。我翻了一大堆定义,觉得很麻烦。我们第一年没有上网。看看这幅画。我找到了功能最全面的示例,它支持数字页码调整、上一页、下一页和指定页码跳转

  

  今天我们将学习Web scraper如何处理这种类型的页面翻转

  事实上,在本教程的第一个示例中,我们捕获了豆瓣电影的列表。豆瓣的电影列表使用寻呼机分割数据:

  

  但在那个时候,我们发现了网络链接的规则,并没有使用寻呼机来获取它们。因为当网页的链接有规律地变化时,控制链接参数捕获是最低的成本;如果页面可以翻页,但链接的更改不是经常性的,那么您必须先转到寻呼机

  这些理论很无聊。让我们以不规则翻页链接为例

  8月2日是蔡旭坤的生日。为了庆祝,粉丝们在微博上为昆昆刷了300W的转发量。微博的转发数据只需除以寻呼机即可。让我们分析一下微博的转发信息页面,看看如何用网络抓取这类数据

  

  此微博的直接链接是:

  在看了这么多他的视频后,为了表达我们的感激之情,我们可以点击并为昆昆添加一本阅读手册

  首先,让我们看看第1页上转发的链接。看起来是这样的:

  第2页看起来像这样。我注意到许多#urnd36参数:

  第3页上的参数为#rnd39

  第4页上的参数为#rnd76:

  再看几个链接,你会发现转发页面的URL是不规则的,所以你只能翻页并通过寻呼机加载数据。让我们开始实践教学吧

  1.create Sitemap

  我们首先创建一个站点地图,这次称为cxk,起始链接是

  

  2.create容器选择器

  因为我们想要点击寻呼机,所以我们选择外部容器的类型作为元素点击。具体参数说明如下图所示。之前我们在简单数据分析08中详细解释了它,所以这里不再讨论它

  

  容器的预览如下图所示:

  

  寻呼机的选择过程如下图所示:

  

  3.create子选择器

  这些子选择器相对简单。这些类型是文本选择器。我们选择三种类型的内容:评论用户名、评论内容和评论时间

  

  4.grab数据

  根据网站地图cxk->scratch的操作路径可以抓取数据

  5.一些问题

  如果您阅读上述教程并立即爬升数据,您可能遇到的第一个问题是300W的数据。我要把所有的数据都记录下来吗

  听起来不现实。毕竟,web scraper所针对的数据量相对较小,成千上万的数据太多。不管数据有多大,你必须考虑爬行时间是否太长,如何存储数据,以及如何处理网站的反爬虫系统(例如,如果你跳出验证码,这个Web刮刀是无能为力的)

  考虑到这个问题,如果您已经看过上一篇关于自动控制抓取数量的教程,那么您可能希望使用类型为(-N+N)的第N个来控制N条数据的抓取。如果你尝试一下,你会发现这种方法毫无用处

  失败的原因实际上涉及到一点网页知识。如果你感兴趣,你可以看到下面的解释。如果你不感兴趣,你可以直接看到最后的结论

  正如我前面提到的,单击更多加载页面并下拉加载页面。新加载的数据将添加到当前页面。你一直往下拉,数据一直在加载。同时,页面的滚动条将越来越短,这意味着所有数据都在同一页面上

  当我们使用(-N+N)类型的:N来控制加载的数量时,实际上相当于在此网页上设置一个计数器。当数据累积到我们想要的数量时,它将停止提取

  但是,对于使用页面翻转器的网页,每次页面翻转都相当于刷新当前网页,因此每次都会设置一个计数器

  例如,您希望捕获1000条数据,但第一页上只有20条数据。如果你赶上了最后一个,980件仍然不见了;然后,一旦翻页,就会设置一个新的计数器。在抓取第2页上的最后一个数据后,仍然是980。翻页后,计数器将复位并变为1000。。。因此,控制数量的方法是无效的

  因此,结论是,如果寻呼机类型的网页想要提前结束捕获,唯一的方法就是断开网络连接。当然,如果你有更好的计划,你可以在评论中回复我,我们可以互相讨论

  6.摘要

  寻呼机是一种非常常见的网页分页方法。我们可以通过web scraper中的元素单击来处理这种类型的web页面,并通过断开连接来结束爬行

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线