谷歌抓取网页视频教程(WebScraper怎么对付这种类型的网页?豆瓣电影TOP排行榜)

优采云 发布时间: 2021-10-14 10:20

  谷歌抓取网页视频教程(WebScraper怎么对付这种类型的网页?豆瓣电影TOP排行榜)

  这是简单数据分析系列文章的第十二篇文章。

  在之前的文章文章中,我们介绍了Web Scraper对于各种翻页的解决方案,比如修改网页链接加载数据、点击“更多按钮”加载数据、下拉自动加载数据等。今天我们说的是一种比较常见的翻页机。

  我想解释一下什么是寻呼机。我发现翻阅一堆定义非常麻烦。这不是每个人都上网的第一年。看看图片吧。找了个功能最全的例子,支持数字页码调整,上一页下一页,指定页码跳转。

  

  今天我们将学习如何通过Web Scraper来处理这种类型的翻页。

  其实在本教程的第一个例子中,抓取豆瓣电影TOP列表,豆瓣的电影列表使用pager进行数据划分:

  

  但当时,我们正在寻找定期抓取的网络链接,我们没有使用寻呼机来抓取它们。因为当网页的链接有规律的变化时,控制链接参数爬取是实现成本最低的;如果网页可以翻,但链接变化不规律,就得去翻页了。

  要说这些理论有点无聊,我们举一个不规则的翻页链接的例子。

  8月2日是蔡徐坤的生日。为了庆祝,微博上的粉丝们给了坤坤一份300W转发。微博的转发数据碰巧被传呼机分割了。我们来分析一下微博的转发。信息页,看看这类数据是如何用 Web Scraper 抓取的。

  

  这条微博的直接链接是:

  看了这么多他的视频,为了表达我们的感激之情,我们可以点进点出,为坤坤添加阅读量。

  首先,我们来看看第 1 页的转发链接,它看起来像这样:

  第 2 页看起来像这样,请注意还有一个额外的 #_rnd36 参数:

  第 3 页上的参数是 #_rnd39

  第 4 页上的参数是 #_rnd76:

  多看几个链接,可以发现这个转发的网页的网址是不规则的,所以只能用pager翻页加载数据。下面开始我们的实际教学环节。

  1.创建站点地图

  我们首先创建一个SiteMap,这次命名为cxk,起始链接是。

  

  2.创建容器选择器

  因为我们要点击pager,所以我们选择Element Click作为外层容器的类型。具体参数说明见下图。之前我们在简单数据分析08中详细讲解过,这里就不多说了。

  

  容器的预览如下图所示:

  

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

  

  3.创建子选择器

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

  

  4.获取数据

  按照Sitemap cxk->Scrape的操作路径抓取数据。

  5.一些问题

  如果你看了我上面的教程,马上爬取数据,你可能遇到的第一个问题是300w的数据,我能把它全部爬下来吗?

  听起来不切实际。毕竟Web Scraper针对的数据量比较小。数以万计的数据被认为是太多了。无论数据有多大,都要考虑爬取时间是否过长,数据如何存储,如何处理。Web Scraper的反爬虫系统(比如突然弹出验证码,这个Web Scraper就无能为力了)。

  考虑到这个问题,如果你看过之前关于自动控制取数的教程,你可能想使用:nth-​​of-type(-n+N)来控制取N条数据。如果你尝试,你会发现这个方法根本没有用。

  失败的原因实际上涉及对网页的一些了解。如果你有兴趣,你可以阅读下面的解释。不感兴趣的可以直接看最后的结论。

  就像我前面介绍的点击更多加载网页和下拉加载网页一样,它们新加载的数据被添加到当前页面。你不断下拉,数据不断加载。同时,网页的滚动条会越来越短。这意味着所有数据都在同一页面上。

  当我们使用:nth-​​of-type(-n+N)来控制加载次数的时候,其实相当于在这个页面上设置了一个计数器。当数据累积到我们想要的数量时,它就会停止爬行。

  但是对于使用翻页设备的网页来说,每次翻页就相当于刷新当前网页,这样每次都会设置一个计数器。

  比如你想抓取1000条数据,但是页面第一页只有20条数据,抓到最后一条,还有980条数据;然后当翻页时,设置一个新的计数器,并抓取第 2 页的最后一个。一条数据还是980,翻页计数器复位,又变成1000了……所以这种控制数字的方法是无效的。

  所以结论是,如果你想早点结束对pager类网页的抓取,只有这种断网的方法。当然,如果你有更好的计划,可以在评论中回复我,我们可以互相讨论。

  6.总结

  寻呼机是一种非常常用的网页分页方法。我们可以通过 Web Scraper 中的 Element click 处理此类网页,并通过断开网络来结束抓取。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线