八爪鱼采集器自定义任务爬取微博数据

只是想统计某博主某一年内发布的全部微博,并计算转评赞总数,这么一个听起来非常简单的任务。没想到折腾了这么久。

首先是微博数据提供的付费功能,付费不说还只能统计近一年,不能任意指定时间段,比如在2020.4.11这一天只能统计2019.4.11~2020.4.11的数据,那岂不是每年得等跨年的时候才能统计去年数据了???

于是查到了微博API(https://open.weibo.com/),觉得甚是难用,不知道是不是只有我这么觉得,毕竟只用过百度、高德API,经验不足。首先创建应用,入口就找了半天。居然不在【我的应用】里而是首页像广告一样花里胡哨的按钮里。至于API接口,提供的一些基本的公开信息都需要通过授权,而且不知什么原因OAuth2.0授权失败了,看来没法通过官方渠道获取数据了,只能自己爬。

爬虫这坑看来早晚要填,目前还没学,也没用过,找了几段别人的代码更改微博ID后就无法访问,不知道是不是企业微博有保护之类的。

最后只好半吊子爬数据,用八爪鱼采集器了(https://www.bazhuayu.com/)。软件虽好用,也经过了一番折腾才搞懂里面种种设置。经历了无数次0获取和不完整的数据,最终的设定也许有些是不必要的,但这套设置确实能正确抓取数据了,也慢不了几分钟,就不去纠结了。本文记录了踩到的一些坑和最终成功的设定。

软件准备

免费下载、安装、注册,免费版功能就够用了,这个任务数据量不大,本地采集模式就可以了。里面提供了一些模板,其中也有微博的。

八爪鱼采集器中提供的微博数据采集模板

但微博最麻烦的地方在于登录操作,时不时还要输入个验证码,加上统计全年的任务需要大量滚动、翻页等操作,于是还是得用自定义任务,就不可避免要设定采集网址、采集流程、登录操作。

采集网址

采集网址的设定基本没有什么问题,只要在网址中找到需要更改的参数就可以了,存在多页的时候建议从网址来设定页码,靠谱一点,自动翻页我是怕翻错,而且微博一翻页就跳出让登录,所以自动识别总是能成功但开始采集却1条都抓不到。以我个人微博主页为例,查看2019年6月的博文(https://weibo.com/2772779897/profile?is_all=1&stat_date=201906&page=2#feedtop),发现时间轴被按月分割,6月发微博稍微多一点,出现了换页,于是需要修改两个参数,【月份】和【页数】。

个人微博截图

在八爪鱼采集器中,选择【批量生成】网址,在文本框中选中要替换的参数,点击【添加参数】进行设置。这里设定的两个参数,【月份】为01~12(软件提供【补零】功能,很贴心了),【页码】为1~4,因为这次要统计的微博每月不超过4页,这个要提前看好。

批量生成网址参数设定

自动生成了48个网址之后就可以【保存设置】,开始编辑任务。然后软件会打开第一个网址,并开始自动识别这一页的内容,并生成采集数据的结果,并给出操作提示,基本可信,不可全信。点击【生成采集设置】,自动生成采集流程的框架(毕竟比自己搭要靠谱),再去调整里面细节设置(就是这些细节折腾了好久)。

自动识别结果

采集流程

自动生成的流程图,基本框架没问题。

循环采集的基本框架

开始细节设定,【提取列表数据】没什么说的,删掉一些不需要的字段就OK。主要是【打开循环中的网页】,点小齿轮打开设置:

打开循环中的网页设置

【网页打开前】这里,怕加载不完全就打开下一页了,设定了等待3秒。(本来这里尝试用Cookie的设定绕过登录,但没有成功,而且获取当前页面Cookie的按钮也一直没反应,于是放弃。)【网页打开后】这里是一定要设定滚动的,一开始以为滚动2次就到底,后来发现不同页面还不一样,又设成了3次,间隔1秒同样是怕没加载完就跳过。

滚动设定这里纠结了很久,因为总是出现相同的错误,明明1个页面应该加载3次最终获得45条数据,结果执行的时候总是只抓到15条,没给滚。不知道是不是没登录的关系,还是网页打开前没有等待直接开了。

登录操作

为保证顺利完成多页爬取,还是绕不过要登录,不然一直会跳出提示登录对话框,什么也采集不到。讲道理微博登录是有cookie记录的,但放到软件的采集任务里就不行,每次开始都是全新的界面要求登录,转眼就不认得你是谁,折腾了各种手动登录都没法被记住。于是参考模板里的设定,在开始循环采集之前增加了登录操作,加入到流程图里老实执行。

在流程图中加入了登录操作

【打开网页】这里的网址就设定为微博入口(weibo.com),后面的操作设定其实是半自动的,在预览的网页里直接操作,点击对话框或按钮,【操作提示】里面就会出现相应的动作,可以记录下登录时的输入文本(用户名、密码)、点击元素等操作,模拟人的操作,并自动添加到流程图里,不过可能会在循环后面,需要手动拖动流程图里的方框,调整顺序,流程图搞好了就可以开始【采集】。

本以为这些都设定好了就可以了吧,账号密码也都记下了,总该能代替我先登录了吧。没想到,登录的时候,不是用户名没输进去就是密码没输进去,结果根本没登录上就执行下一步,开始循环了,还是啥也抓不到。这时候打开网页前的3秒等待似乎是起了作用,抓紧这3秒的时间,把自动操作没输进去的用户名或者密码手动输入进去然后立刻再点登陆,在打开要采集的主页前完成登陆,终于按照想的爬下了每页包含滚动加载的所有数据,大功告成。

最终完成采集
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容