猪
年
大
吉
2019年伊始,祝愿各位多吃不胖,身体倍儿棒!
回顾刚刚过去的2018,还有哪些新闻在你心底留有印象?
怎奈年纪增长,记忆减退,逝去的爆炸新闻也逐渐褪色变得索然无味,毕竟一直以来我的心里只有学习。
本期主题就是:用python爬取2018年度热门话题微博评论,并生成酷炫的词云,帮助青春年少已经开始脱发掉发的我们花式装B重回热点一线。
废话不多说,先上效果图!
小白的第一次尝试(爬取了东哥致歉微博下的500页,大约5000条评论)
第二次尝试(爬取了杨幂离婚热搜下约1500页,15000条评论)
食
用
需
知
工具:
Anaconda3(Python3)版本不同,模块的使用方式可能有差异,以下代码针对py3;
另外需要大神一枚,救你于bug的水火之中,此处手动感谢@joey大大。
时间:
本帖代码编写时间为2019年1月,由于各大平台反扒技术日益增进,请注意参考的时效性,如遇爬取上的困难欢迎在评论区交流学习。
01
爬取微博评论数据
这一步是从网上爬取自己想要生成词云的文本,如果你只是想生成简单的词云请直接跳至02。
现在的大厂对于爬虫爱好者来说可以说是一点都不客气,反爬措施日益完善。虽然微博出了API供爬虫爱好者们使用,但是据说只能爬取500个评论......
我想了一下,谢谢网易爸爸,我还是自己爬吧。
在呕心沥血查看了微博网页端(http://weibo.com),微博手机端(http://m.weibo.cn)以及微博移动端(http://weibo.cn)的源代码和相当多的技术贴之后,我终于发现了如下规律:最难看的微博端就是最好爬的微博端!(划重点!!!)
难度程度排序如下:网页端>手机端>移动端
因此我恬不知耻毫无犹豫地选择了最容易上手的移动端。
它长这样:
睁大你的小眼睛,仔细看看可以发现url的规律:
注意到每页评论的url最后有page= ,第一页是1,第二页会变为2。
找到了这个突破口后面的就简!单!啦,附上源代码,可以直接食用:
源代码-爬取评论
运行完成后可以在result.txt中查看结果。
02
利用结巴分词进行分词
安装包
在Anaconda promote中输入pip install jieba,等待程序自动安装即可。
源代码-分词
03
利用wordart绘制图云
如果已经顺利完成前面两步,那最后这步就十分简单啦!
create now
打开https://wordart.com/,点击create now即可生成词云。
添加字体
由于wordart本身不支持中文,,因此如果你的词云是由中文词语构成的,需要自己添加下字体。
点击add front添加字体。
这里有两个中文字体链接,大家有需要请自取:
1. https://noto-website.storage.googleapis.com/pkgs/NotoSansCJKsc-hinted.zip
2. https://noto-website.storage.googleapis.com/pkgs/NotoSerifCJKsc-hinted.zip
添加word
将第二步程序输出的结果粘贴到这里:
欣赏自己的佳作
小指一点红色按钮Visualize就可以看到自自自己己己做的词云啦!恭喜!
参考文献:
微博爬虫
https://www.jianshu.com/p/73dff5eb52d9
https://www.jianshu.com/p/6a285dfa3d87
词云生成网址与使用资料:
https://wordart.com/
https://www.ifanr.com/app/887627
看了就要关注我,喵呜~
领取专属 10元无门槛券
私享最新 技术干货