美文网首页Python 爬虫专栏Python学习爬虫专题
爬取老树画画全部微博数据:三千诗与画

爬取老树画画全部微博数据:三千诗与画

作者: 古柳_Deserts_X | 来源:发表于2017-08-05 13:58 被阅读815次


    一、前言

    1、项目介绍

    本次用fiddler抓包移动端(ipad)微博,再用python爬虫获取老树画画微博几乎全部内容。因为老树画画发布的微博结构较为简单,几乎都是:一幅画,配上一段文字,所以在忽略转发内容后,获取画作、诗、发布时间、转发数、评论数、点赞数等内容,共计3395条数据再用PIL库拼接图片,并用Echarts进行数据可视化。

    2、老树画画

    此前没听说过老树画画(刘树勇)的人,可以看看一席的视频:全程笑点不断,有很多值得思考的地方。演讲最后也播放了一些作品,可作为初步了解。

    【一席】老树画画《做一个梦》

    其人在幽默之外,给我的感觉就是有种难以描述的“江湖气”,这是我以前在所谓大学老师身上,乃至其他人身上蛮少看见的。

    作品欣赏

    二、图片拼接

    以前爬微信好友头像时,就用过PIL拼接图片,也在《爬取张佳玮138w+知乎关注者:数据可视化》里放上爬取北美帝国大厦亮灯图后,拼接制作的“ZJU 120”logo。

    此次再度用PIL库拼接图片,当然前期需要筛选出好看的、格式和色调等相和谐的图,再将图片批量重命名成数字,完成后,几张成果图如下(文章开头的图亦然),还是蛮好看的:

    不知道大家比较喜欢哪一张,存图的一定记得点个赞或打个赏,鼓励下哈。这里挑选的图主要是草木、蔬果的图,也是老树画画作品里占比不少的系列,另外几个系列是什么,留给大家自己去“探宝”了!

    三、数据可视化

    从微博主页可以了解到,截止20170805中午11点,其关注数:1130,粉丝数:1492599,微博数:3467。其中第一条微博始于2011年

    因为获取的3395条数据中,每条微博发布时间格式为:“Fri Feb 8 21:38:54 +800 2013”,需要先预处理,转换成星期、月份、日期、时间、年份等,这里直接用csv的“数据”-“分列”即可。

    1、发布微博之年度情况

    首先看看老树画画每年发布微博的数量情况:(2011-2017年)

    由于老树画画第一条微博始于2011-07-25(最初的几条微博是关于温州动车追尾事故的,默哀三分钟),所以2011年和2017年数据并非全年情况,暂且看2012-2016年发布数量,可见逐年递减,2012年日均2.9条,2016年日均不到0.4条,而2011年日均更是高达3.6条。

    那么具体每日的发布情况怎么样呢?上过GitHub的人,可能会对个人主页中的贡献图有印象,算是很好的展现全年数据的方式,不过此前没画过,网上搜了一圈也没看到可快速上手的,最后皇天不负有心人,终于在知乎上找到了:ECharts 小例子:实现日历图,正好也是用Echarts绘制calendar heatmap,完美。之后就是将日期数据按要求处理成统一格式,最终成果图如下:

    不论是从颜色上,还是色块占比上,都可以直观的看出,老树画画发布微博数量和频率呈现逐年递减的趋势。其中在所有日期里,单日发布数量最高的(即色块颜色最深的一格)是:2012-10-19,共计24条(好吧上面色度条最大值20,小小bug了下,就懒得改了),到底发了什么,此处同样留个悬念。

    2、发布微博之月份情况

    接下来看看在这6年多里,每个月发布情况,9月份和12月份以340+条几乎并列第一,月均56条,而3月份和4月份以低于255条居于末位,月均43条。侧面反映了前三年每月发布数量还真不少,再后几年个别月份只有个位数的情况下,月均依旧超过40条。

    3、发布微博之星期情况

    再看一周内情况,每日的差距似乎不算太大。不作过多说明了。

    4、发布微博之24小时情况

    再看24小时情况。其中凌晨4点、5点无数据,2点4条,3点1条,6点3条,睡觉不水手机,水手机不睡觉。嗯。

    数量最高的:12点334条,18点317条,难道老树画画喜欢在饭点吟诗作画?结合《一席》演讲里提到的一句诗:“眼前两碗米饭,心中一粒飞鸿。”结合此处数据,可以算作另类的解释了,又或许只是饭点前后掏出手机水会罢了。

    5、评论、转发与点赞情况

    上回对张佳玮138W+关注者数据进行处理时,最后并没有处理赞同数、收藏数、感谢数。此次爬取老树画画的微博内容,数值数据本就少,因此将评论数、转发数和点赞数绘制成相应散点图,结果如下:

    从参与度来说,写评论、转发、点赞,三者的参与度应当依次降低,刷刷微博,刷刷朋友圈,看到不错的内容,反手就是一个......赞,是很方便的,而去写评论和回复相对麻烦些,当然不同人可能习惯不同。简书亦然,阅读量也许几百几千,转化成喜欢和赞同就少了很多,再是评论和打赏就更加寥寥了。

    说回上图,评论数和转发数似乎可以看成和点赞数呈正相关。其中,点赞数1w+的有2条,相应的转发和评论数同样不低,找到对应时间的微博,分别为:

    谈谈人性,说说孤独,骂骂傻逼,轻松破万赞。

    再看图中纵坐标处附近,点赞数寥寥,但转发数1w,评论数几千,不可思议,找来一探究竟:

    第一条:“一个泄露国家机密的人!”。

    到图库里找出来,仔细瞅瞅!手动翻译成简体字:

    “茂名市委书记罗荫国贪污十六亿被双规,接受调查时谈五点:‘一、要说我是贪官,说明官场就是贪场,凭什么专搞我?二、真叫我交代我能讲三天三夜,把广东官场翻个底朝天。三、中国不就是腐败分子提拔腐败分子,腐败分子反腐败吗?四、像我这种级别的,谁不能供出百来个?五、谁不花钱当上小科长叫他大哥。’”

    (码完字,倒吸一口气,如果这篇文章挂了,一定是因为这个吧......富强民主文明和谐,护体!)

    第二条:“有时心情糟糕,真想死掉拉倒。折腾半天睡去,醒来不想死了。——《有时候》系列之五

    生生死死的大哉问,睡一觉,讲什么都抛诸脑后。

    另外两条高赞高转发的微博:

    天色将晚,抱鱼上床。世间破事,去他个娘。

    18禁的评论,不能腌臜了咱小媳妇、大姑娘的眼睛,快走开,快走开,看什么看!

    【清明】烟雨十里春深,落花轻覆草痕。陌上青青柳色,心中念念故人。

    看时间,正是清明,看来触动了不少人的感情。

    四、打油诗

    “老树微博,三千诗与画”,这句话是我当初爬完数据后分享到朋友圈的,老树画画的“打油诗”,也是一大特色,微博底下几乎也是清一色回复诗的,倒是蛮奇特的“景观”。这里对文本、自然语言的处理、情感分析等等都没有涉及,后续可以继续研究下,看看这些诗里正面情感和负面情感情况如何?此处仅贴上原始获取的数据和词云:

    曾写过诗,填过词,倒没怎么看过打油诗,有了这3千多少诗,嘿嘿嘿,倒是可以试试怎么把词频最高的一些词语串起来,写首什么,欢迎大家在评论里创作。━(*`∀´*)ノ亻!

    五、小结

    第一次用fiddler抓包移动端,发现比想象中简单,网上安装配置的文章很多,很简单的几步。移动端的爬取要比网页电脑的容易的多,但毕竟是微博,传说中反爬严格的社媒啊,在不清楚移动端情况下,直接上手爬,还是蛮怕被封ip和账号的。幸而顺利爬完。对于想获取数据的人来说,完全可以爬移动端,此次和上回爬知乎差不多,都是访问API,返回JSON数据,完全不用beautifulsoup,正则什么繁琐的提取信息,简直爱死JSON数据了。

    再是用Echarts绘制calender heatmap,也是第一次,技能get。

    最后是文本数据的挖掘、情感分析可以继续学习,社媒的数据处理和分析,没什么思路。

    最后的最后,发张“舒服死了”的图,23333:

    相关文章

      网友评论

      • d787c44d6570:大佬,能不能分享下爬虫的代码学习一下?392693522@qq.com 谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
        古柳_Deserts_X:@张佳玮123 可以了解下怎么配置fiddler来抓包手机微博app,返回的是json数据很好提取信息。
      • Dis丶Peer:我就认真看了下最后一图:joy: :joy: :joy:
        古柳_Deserts_X:开往幼儿园的车即将发动,请赶快上车。
      • 胡几鬼:这数据。。。玩得溜😂还有那个老树说的话也是溜😂
        古柳_Deserts_X:一席的演讲也特别幽默

      本文标题:爬取老树画画全部微博数据:三千诗与画

      本文链接:https://www.haomeiwen.com/subject/dxkmlxtx.html