打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一键备份微博并导出生成PDF,顺便用Python分析微博账号数据

这里再分享下如何快速导出你的所有微博数据,然后用Python分析某个微博账号的数据,比如高赞,转发,评论微博,微博词云,微博发布时间轴,以及使用的手机。

稳部落

这是一个专业备份导出微博记录工具 https://www.yaozeyuan.online/stablog/ ,备份原理是登录https://m.weibo.cn/ 后, 模拟浏览器访问, 获取登录用户发布的所有微博并备份,即使炸号的微博, 只要能登录 https://m.weibo.cn/ 后还能看见自己的微博就可以备份。

这个工具使用说明见 https://github.com/YaoZeyuan/stablog ,支持Windows和Mac版。

打开软件后登录自己的微博,这里也可以刷微博。

打开系统设置可以看到总共微博条数2695,有269页,抓取时间要2个多小时。

设置下排序规则,是否需要图片,PDF清晰度还有时间范围。










支持增量备份, 备份过一次后, 可以只备份前10页内容, 加快备份速度
可在【管理数据】标签页中浏览已备份的微博记录列表
支持断点续传, 中途停止后, 可以记下备份的页码, 再次运行时修改【备份范围】配置项, 从该页之后再备份即可
32位操作系统下, 当pdf体积超过2GB后, 会提示文件已损坏. => 解决方案是更换64位操作系统, 或调整【时间范围】/【自动分卷】配置项, 通过限定单本pdf容量, 手工将pdf体积控制在2GB之内
利用【开发者模式】配置项, 可以极大加快微博备份速度。
 

点击开始备份,可以看到运行日志。











2020-05-26 19:56:44.780: [FetchCustomer] 本次抓取的页码范围为:0~10 2020-05-26 19:56:44.824: [FetchCustomer] 准备抓取第1/271页微博记录 2020-05-26 19:56:45.275: [FetchCustomer] 第1/271页微博记录抓取成功, 准备存入数据库 2020-05-26 19:56:45.967: [FetchCustomer] 第1/271页微博记录成功存入数据库 2020-05-26 19:56:45.968: [FetchCustomer] 已抓取1/271页记录, 休眠20s, 避免被封 2020-05-26 19:57:05.970: [FetchCustomer] 准备抓取第2/271页微博记录 2020-05-26 19:57:06.310: [FetchCustomer] 第2/271页微博记录抓取成功, 准备存入数据库 2020-05-26 19:57:07.039: [FetchCustomer] 第2/271页微博记录成功存入数据库 2020-05-26 19:57:07.040: [FetchCustomer] 已抓取2/271页记录, 休眠20s, 避免被封 2020-05-26 19:57:27.041: [FetchCustomer] 准备抓取第3/271页微博记录

开始下载图片。

执行完毕,在本地生成了你的微博电子书。
生成目录下有源文件和PDF。
打开里面的HTML文件,备份的微博按照月份分类。
看看2019年4月7号的这条微博,图片都下载到本地了。
生成的PDF文件近30MB,不算太大。

这个工具只能备份自己的微博数据,如果想备份其他人的,可以使用下面的Python脚本,它还能分析某个微博账号的数据。

Python 备份和分析微博

这是个开源项目https://github.com/nlpjoe/weiboSpider ,使用方法很简单,先登录微博复制你的cookie,然后修改配置文件,之后执行脚本就可以了,看我的操作流程。

打开 https://m.weibo.cn/ 登录你的微博账号获取headers的 cookie ,就是箭头里那一长串字符。

下载代码到本地,由于是国外网站下载会比较慢,可以在公众号内回复 微博 获取。

之后修改配置文件config.json ,这里说明下,user_id_list填你要分析的微博账号uid,可以填多个,我这里填的是非常喜欢的歌手李健。filter为1表示分析原创微博,如果分析所有微博填0即可。since_date为从哪天的微博开始分析,然后就是把上面复制的cookie填到对应位置。

















{ 'user_id_list': ['1744395855'], 'filter': 1, 'since_date': '2015-01-01', 'write_mode': ['csv', 'txt'], 'pic_download': 1, 'video_download': 1, 'cookie': 'xxx', 'mysql_config': { 'host': 'localhost', 'port': 3306, 'user': 'root', 'password': '123456', 'charset': 'utf8mb4' }}

接着执行pip install -r requirements.txt安装以下依赖包。









requests==2.22.0jieba==0.42.1wordcloud==1.6.0scipy==1.2.1seaborn==0.10.0pandaslxmltqdm

当然你也可以单独安装  pip --trusted-host pypi.doubanio.com install -U tqdm -i http://pypi.doubanio.com/simple

scipy要安装指定版本 pip --trusted-host pypi.doubanio.com install scipy==1.2.1 -i http://pypi.doubanio.com/simple

上面都配置好了,就开始执行脚本 python weibospider.py ,我是在Windows下使用的Python3.7,可能跟作者环境不一样,遇到了些问题。

如果执行出现错误SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed ,改动文件 weibospider.py 里的requests请求参数。

html = requests.get(url, cookies=self.cookie,verify=False).content

需要注意如果提示cookie错误或已过期,再刷新下 m.weibo.cn复制cookie填到配置文件。

没问题的话可以看到脚本开始执行了。

 

抓取完毕,开始生成李健的微博词云图,他的微博关键词为音乐,北京,朋友,歌手,电影,居然还提到了周杰伦。

每个月转发评论点赞总数图,可以看到2016-2018年的微博数据是高峰期。
原创微博和转发微博数据比例。

李健发微博的工具主要为pc网页和iPad。
生成的目录下还有所有微博的图片,视频,txt文件和excel数据。
原创微博里转发最高的为2015年这条宣传电影《太平轮》主题曲 假如爱有天意 的微博https://www.weibo.com/1744395855/CruOoDGtB ,不过也才2万多,和某些动辄百万转发的流量明星的确不能比,毕竟人家水军多。
下图是李健微博转发最高的20条微博,平均不到1万的转发和评论,点赞倒是都有几万。

ps:如果你想分析某个微博账号,自己又不会使用Python,联系我,包教包会,当然直接给你数据也可以。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
3个Python PDF库,提取信息、转换格式、分割剪裁有它就够了!
一键下载公众号所有文章,导出文件支持PDF,HTML,Markdown,Excel,chm等格式
第14届“华中杯”数学建模思路
5款你没有用过的软件工具,今天免费分享给大家,100%好用
Python使用Tabula提取PDF表格数据
5个实用、瞬间提高工作效率的手机APP,早知道少走很多弯路!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服