手机版 欢迎访问人人都是自媒体网站

当前位置:主页 > 体验 >

一次即兴的爬虫经历:A站B站数据分析实战

时间:2021-08-04 09:42|来源:网络整理|编辑:|点击:

在很多领域都需要用数据来说话,整个数据的采集过程也是对思维方式的一次考验。本篇文章作者介绍了自己的一次爬虫经历,其中也讲述了自己是如何通过转换思维的方式使得整个过程更加流畅。

 一次即兴的爬虫经历:A站B站数据分析实战

说明:我不是技术人员,整个过程并没有涉及到一定需要技术的地方。

不过,非技术人员去抓取数据,岂不是更有意思的一件事情?

前几天,在看B站时,突然想,是不是可以抓取数据分析一下?

曾抓取过B站番剧的数据,用于建立一个番剧排行榜,这次是投稿,难度比抓取简单的静态页面要大。

一、精益思维,第二桌面

看着电脑屏幕,遇到了第一个困难:爬虫中很多步骤很耗费资源,笔记本日常要用,我需要第二台电脑。

灵机一动,服务器是不是可以做第二个桌面呢?刚好双11各大云服务器商都在做活动,云服务器除了linux系统外,还有windows系统。

没有用过windows系统的服务器,是否该买一个呢?

想到了精益思维,我需要逐步验证来确定最适合的选项。

一步步的改变配置,来验证最适合自己的配置,从CPU核心数到内存到带宽,云服务器商都提供了按需使用的选项,可以在测试后立刻释放服务器。

在进行了多次测试后,我陷入了一个新的困惑之中:真的需要第二台电脑吗?

这真的是一个必要的选择吗?

甚至爬取数据进行分析真的是一个有意义的事情吗?

我正在整理收藏,还有大量的文章没有归档,因此耽误了计划,是否值得?

还没有开始,就已经引发思维碰撞了,这一定会是一次有趣的经历,我决定立刻行动。

此时,确认了需要第二台电脑,我面临两个选择:是选2核心4G还是选4核心8G的机子,在测试中,我使用的是2核心4G,是可以满足运行几个软件的需求的,测试中使用的带宽是3-4M,过程中并未出现卡顿情形,这说明3M绝对足够;

最终选择了4核8G2M的华为云机器,选择时,还不知道我将面临什么,在真正使用时,我将为这个选择骄傲。

选择4核8G2M的机子,在满足了我的需求的同时,也多了一个月的使用期限,腾讯云4核心8G10M,155块2个月,华为云4核心8G2M,155块3个月;

选择2M带宽,基于对服务器基本信息的了解,服务器带宽限制是上行,而不是下行,这跟日常使用的家庭网络完全相反,个人使用则主要使用下行带宽;

这次选择服务器的经历,也让一个基本原则得以完善:不做非必要的选择,如果做出了选择,则需避免过度为未知考虑造成过度冗余。

一次即兴的爬虫经历:A站B站数据分析实战

二、开始抓取,研究工具

曾用过一个简单的抓取工具八爪鱼,但只做过最基本的页面元素抓取, B站投稿页面并不是简单的静态页面;

为了避免出现意外,我开始全面研究八爪鱼的基本信息,尤其是跟功能限制有关的信息,准备升级为收费版,以便增加可导出的数据量,从1万增加到10万;

一次即兴的爬虫经历:A站B站数据分析实战

在权衡后,判断不需要升级,要导出10万级别的数据量,采集所需要的时间会很大,我并没有准备花费如此长的时间;

在了解服务器端桌面与家庭桌面的区别时,发现A站采集两端一致,B站采集则家庭桌面占优;我做出了发挥各自优点的选择:本地运行B站采集任务,服务器端运行A站采集任务;

研究工具信息后,得知可以同时运行两个任务,但一个账号只可以同时保持一个在线;为了在服务器端运行程序,我注册了一个新的账号,然后准备使用程序的任务导出导入功能连接两个账号;

在本地测试完毕后,导出任务,然后导入到服务器端,开始运行;

免费版只有1万的数据导出量,这决定了这将是一次数据量严重不足的采集,为了缓解这个问题的影响,在生成链接时,我使用了随机数,生成带有随机数字的链接。生成链接使用的是Excel的基本的组合公式,首先生成一组随机的数字,因为B站A站链接都是以数字为基础的,比如B站的AV号、A站的AC号。

在生成后链接后,需要导入审查工具进行监测。审查工具是为了检测生成后的链接是否可以打开,不能打开的链接无法采集也会让采集报错。

为了加快检测速度,需要多个审查工具并行,我找到一个多开工具,这个工具在后面发挥了更大的作用,帮助我快速审查了B站的100万链接。

这时,开始进入测试,为了迎接大批链接的到来,我需要对采集流程做初步的优化。

先行验证与优化,并不需要大量的链接,只需要两个链接即可,这一步是为了保证采集数据的正确性,采集的慢没有关系,数据一定是自己需要的。

在真正采集B站时遇到了困难,B站的评论并非是同步加载的,需要等待数据出现,才可以加载出评论数,这限制了采集速度。

Copyright © 2018 DEDE97. 织梦97 版权所有 京ICP