微信视频号文章数据统计

微信视频号后台里有关于单篇文章的数据(见下图)。如果要做进一步的分析,可以将数据下载到本地。

微信视频号数据截图

from datetime import datetime
import math
import csvdef parse_date_time(date_time_str):# 将输入字符串解析为datetime对象date_time_obj = datetime.strptime(date_time_str, "%Y年%m月%d日 %H:%M")# 从datetime对象中提取日期和时间date = date_time_obj.date()time = date_time_obj.time()return date, timedef str2int(x):''' 将字符串 x 中的万字转成数字 '''x1 = []for g in x:if '万' in g:g = g.replace('万', '')x1.append(int(float(g)*10000))else:x1.append(int(g))return x1    def remove_extra_blank_lines(file_path):with open(file_path, 'r', encoding='utf-8') as f:lines = f.readlines()line_tmp = []for line in lines:if len(line.strip('\n')) > 0:line_tmp.append(line)with open(file_path, 'w', encoding='utf-8') as f:f.writelines(line_tmp)extract_info_from(line_tmp)def extract_info_from(line_tmp):contents = []update_times = []dates = []times = []views = []likes = []trans = []goods = []for i in range(0, len(line_tmp), 7):contents.append(line_tmp[i].replace('\n', ''))update_times.append(line_tmp[i+1].replace('\n', ''))views.append(line_tmp[i+2].replace('\n', ''))likes.append(line_tmp[i+3].replace('\n', ''))trans.append(line_tmp[i+4].replace('\n', ''))goods.append(line_tmp[i+5].replace('\n', ''))#dates, times = extract_dateinfo(update_times)times = [datetime.strptime(t, "%Y年%m月%d日 %H:%M") for t in update_times]views = str2int(views)likes = str2int(likes)trans = str2int(trans)goods = str2int(goods)print_rlt(times, views, likes, trans, goods)data = []for i in range(len(views)):data.append([contents[i], times[i], views[i], likes[i], trans[i], goods[i]])   save2csv(data)def print_rlt(times, views, likes, trans, goods):print("自 %s 以来,微信视频号累计发布视频 %d 条。"%(min(times), len(views)))print("累计观看: %d \t 最多观看: %d \t 平均观看: %d"%(sum(views), max(views), (sum(views)/len(views))))print("累计喜欢: %d \t 最多喜欢: %d"%(sum(likes), max(likes)))print("累计转发: %d \t\t 最多转发: %d"%(sum(trans), max(trans)))print("累计点赞: %d \t 最多点赞:%d"%(sum(goods), max(goods)))def extract_dateinfo(update_times):dates = []times = []for date_time in update_times:date, time = parse_date_time(date_time)dates.append(date)dates.append(time)return dates, timesdef save2csv(data):with open('data.csv', mode='w', newline='') as file:writer = csv.writer(file)for row in data:writer.writerow(row)print("写入CSV文件完成。共 %d 条."%len(data))   if __name__ == "__main__":# 测试函数file_path = 'data.txt'  remove_extra_blank_lines(file_path)

程序主要功能如下:

  1. parse_date_time(date_time_str)函数:将输入的日期时间字符串解析为datetime对象,并提取出日期和时间。

  2. str2int(x)函数:将字符串中的"万"字转换为数字,并将字符串中的数字转换为整数。

  3. remove_extra_blank_lines(file_path)函数:读取文件中的内容,去除多余的空行,并将处理后的内容写入文件。

  4. extract_info_from(line_tmp)函数:从处理后的文本内容中提取信息,包括视频内容、更新时间、观看次数、喜欢次数、转发次数和点赞次数。然后将这些信息整理成列表,并调用print_rlt()函数打印结果。最后将数据保存到CSV文件中。

  5. print_rlt(times, views, likes, trans, goods)函数:打印累计观看次数、最多观看次数、平均观看次数、累计喜欢次数、最多喜欢次数、累计转发次数、最多转发次数和累计点赞次数、最多点赞次数。

  6. extract_dateinfo(update_times)函数:从更新时间中提取日期和时间信息。

  7. save2csv(data)函数:将数据保存到CSV文件中。

主函数中,首先调用remove_extra_blank_lines(file_path)函数处理文件,然后提取信息并保存到CSV文件中。

程序输出
功能简单,就是要对视频号的相关数据有个宏观了解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2778187.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

问题:2、计算机网络的目标是实现________。 #媒体#知识分享

问题:2、计算机网络的目标是实现________。 A.数据处理 B.信息传输与数据处理 C.资源共享与信息传输 D.文献查询 参考答案如图所示

新春快乐(烟花、春联)【附源码】

新春快乐 一&#xff1a; C语言 -- 烟花二&#xff1a;Python -- 春联三&#xff1a;Python -- 烟花四&#xff1a;HTML -- 烟花 一&#xff1a; C语言 – 烟花 运行效果&#xff1a; #include <graphics.h> #include <math.h> #include <time.h> #include…

Matlab使用点云工具箱进行点云配准ICP\NDT\CPD

一、代码 主代码main.m&#xff0c;三种配准方法任选其一 % 读取点云文件 source_pc pcread(bun_zipper.ply); target_pc pcread(bun_zipper2.ply);% 下采样 ptCloudA point_downsample(source_pc); ptCloudB point_downsample(target_pc);% 配准参数设置 opt param_set…

node网站 宝塔 面板配置 防止刷新404

1.问题 我现在配置了一个网站 后台项目 放到了宝塔上 将相应的域名和项目都配置好了 域名也可以访问 但是有的时候 出现了404 类似这种404 这个资源找不到 2.说明 其实这个问题的原因是nginx 的问题 反向代理的原因 3.解决 在这个配置文件中 有个配置文件 # 防止刷新404l…

Python算法题集_K 个一组翻转链表

Python算法题集_K 个一组翻转链表 题25&#xff1a;K 个一组翻转链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【依次反转】2) 改进版一【列表反转】3) 改进版二【堆栈大法】4) 改进版三【递归大法】 4. 最优算法 本文为Python算法题集之一…

在JSP中实现JAVABEAN

在JSP中实现JAVABEAN 问题陈述 创建Web应用程序以连接数据库并检索作者名、地址、城市、州及邮政编码等与作者的详细信息。JavaBean组件应接受作者ID、驱动程序名及URL作为参数。信息要从authors表中检索。 解决方案 要解决上述问题,需要执行以下任务: 创建Web应用程序。创…

Backtrader 文档学习- Plotting - Plotting Date Ranges

Backtrader 文档学习- Plotting - Plotting Date Ranges 1.概述 1.9.31.x版本增加了绘制部分图形的功能。 可以使用策略实例中保留完整长度的时间戳数组的索引或者使用实际的datetime.date 或datetime.datetime 实例来限制需要绘制的内容。 仍然可以使用标准的cerebro.plot…

基于 multiprocessing.dummy 的多线程池与单线程访问多网页的比较示例

一、示例代码&#xff1a; from multiprocessing.dummy import Pool as ThreadPool import time import requestsurls [ # URL队列&#xff0c;通过多线程访问http://www.python.org,http://www.python.org/about/,http://www.…

Eclipse导入maven项目或者创建maven项目时,报错Could not calculate build plan: Plugin

问题&#xff1a;Eclipse导入maven项目或者创建maven项目时,报错Could not calculate build plan: Plugin 1.上述问题大概是项目不能加载此maven插件&#xff0c;在pom文件中添加依赖项 <dependency><groupId>org.apache.maven.plugins</groupId><artifa…

微服务入门篇:http客户端Feign(远程调用,自定义配置,Feign的性能优化,Feign服务抽取)

目录 1.基于Feign的远程调用1.RestTemplate方式调用存在的问题2.Feign的介绍3.定义和使用Feign客户端 2.自定义配置1.方式一&#xff1a;配置文件方式2.方式二: java代码方式&#xff0c;需要先声明一个Bean: 3.Feign的性能优化1.Feign底层的客户端实现2.连接池配置 4.Feign的最…

EMNLP 2023精选:Text-to-SQL任务的前沿进展(下篇)——Findings论文解读

导语 本文记录了今年的自然语言处理国际顶级会议EMNLP 2023中接收的所有与Text-to-SQL相关&#xff08;通过搜索标题关键词查找得到&#xff0c;可能不全&#xff09;的论文&#xff0c;共计12篇&#xff0c;包含5篇正会论文和7篇Findings论文&#xff0c;以下是对这些论文的略…

c语言中的隐式类型转换

数据类型转化 我们在实际编程中&#xff0c;不管你是有意的还是无意的&#xff0c;有时候都会让两个不同类型的数据参与运算&#xff0c;编译器为了能够生成CPU可以正常 执行的指令&#xff0c;往往会对数据做类型转换&#xff0c;将两个不同类型的数据转换成同一种数据类型。…

Springboot+vue的社区养老服务平台(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的社区养老服务平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的社区养老服务平台&#xff0c;采用M&#xff08;model&…

最佳视频转换器软件:2024年视频格式转换的选择

我们生活在一个充满数字视频的世界&#xff0c;但提供的内容远不止您最喜欢的流媒体服务目录。虽然我们深受喜爱的设备在播放各种自制和下载的视频文件方面变得越来越好&#xff0c;但在很多情况下您都需要从一种格式转换为另一种格式。 经过大量测试&#xff0c; 我们尝试过…

Go 中如何解析 json 内部结构不确定的情况

本文主要介绍的是关于 Go 如何解析 json 内部结构不确定的情况。 首先&#xff0c;我们直接看一个来提问吧。 问题如下&#xff1a; 上游传递不确定的json&#xff0c;如何透传给下游业务&#xff1f;比如&#xff0c;我解析参数 {"test": 1,"key": {&…

2024年信息管理与工业制造与自动化国际学术会议(ICIMIMA2024)

2024年信息管理与工业制造与自动化国际学术会议(ICIMIMA2024) 会议简介 2024年信息管理与工业制造及自动化国际学术会议&#xff08;ICIMIMA2024&#xff09;将在中国三亚举行。会议旨在为信息管理和工业工程领域的专家、学者、工程师和技术人员提供一个平台&#xff0c;分享…

深入Java容器:概览、设计模式与源码分析

深入Java容器&#xff1a;概览、设计模式与源码分析 Java 容器一、概览Collection1. Set2. List3. Queue Map 二、容器中的设计模式迭代器模式适配器模式 三、源码分析ArrayList1. 概览2. 扩容3. 删除元素4. 序列化5. Fail-Fast Vector1. 同步2. 扩容3. 与 ArrayList 的比较4. …

人工智能算法:理解其工作原理及其在现实世界中的应用

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已逐渐成为我们生活中不可或缺的一部分。从智能语音助手到自动驾驶汽车&#xff0c;再到医疗诊断系统&#xff0c;人工智能算法正以前所未有的速度改变着我们的世界。本文将带您深入探讨人工智能算法的工作原…

【leetcode热题100】分隔链表

给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1&#xff1a; 输入&#xff1a;head [1,4,3,2,5,2], x 3 输出&am…

【开源】JAVA+Vue+SpringBoot实现班级考勤管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…