你的微信,到底「连接」多少人?

作为一个技术人,用微信这么多年,也加了不少的好友和技术群。大半个月前,大概是5月初的时候,萌生了这个想法。

前后磕磕绊绊,经过了来美帝出差前期差点饿死、项目紧急期等艰难阶段以及各种自学、温习和设计,还是给搞了出来。

这篇文章就讲讲,这个工具是怎么形成并搞到几乎人人都可以轻松统计的。

前奏:试一试

所谓「连接」:

  • 简单的说,就是通过微信,你目前能和多少人建立交流;

  • 装逼的说,就是你现在微信影响 力的不充分体现;

  • 从技术角度来说,就是统计微信所有群聊和好友人数去重后的和。

先上图。统计结果是这样的长图,朋友圈一发是不是美滋滋~

想要生成这个图,你只需要满足以下两个条件,有个电脑或手机,就可以:

  • 能上Google

  • 有Google账号

访问我在Google Colab上的分享Python脚本,一键运行。一步到位版是专为生成结果而准备;学习版则是进行了详细的分步讲解。脚本地址如下:

  • 一步到位版地址:colab.research.google.com/drive/1zn_P…

  • 学习版地址:colab.research.google.com/drive/1eoww…

如果有同学不能Google一下,可以公众号后台回复“连接”,获取脚本源码。

正文:怎么想的

本来嘛,湿兄我项目紧、任务重,一开始就打算自己写着玩玩,统计自己的微信连接数,然后总结总结,与大家分享分享,再聚俩种子粉丝,乐呵乐呵也就罢了。不过我关注的一个公众号其中的一篇「为什么人人都要有产品思维」文章触动了我。

好嘛,「产品思维」很重要,在公司也没少被批没有产品思维。既然很重要,咱就多练练,自然不能放过这个机会。于是我就决定把此工具尽量的搞成一个「产品」,并期望通过它能吸引更多的「种子粉丝」。

Hasagi,在前(zhuang)进(bi)的道路上,愈走愈远了。

回到正题,咱们知道,一个人、一件东西或者任何事物想要升华、要进步,就必须知道TA的「缺点」在哪里,然后加以有「目的性」的改进。而经过动脑筋、抓头发的分析,我的这个Python统计工具(没想到吧,湿兄不仅会安卓哈)提供的功能,即便是不懂Python的朋友也很有兴趣的嘛。因为现在微信用户量级如此之大,肯定有不少人会为自己微信能「连接」多少人这一点买单。

那么我目前的「受众面」和「目标用户群体」其实是「局限」在了Python开发者上面的,这就白白流失了大量的「感兴趣」群体。

那么这个工具限制在什么地方呢?

  1. 需要Python开发基础

  2. 需要进行繁琐的依赖库导入:Pandas、matplotlib、PIL及其他第三方库

  3. 不友好的输出结果:仅仅是文字输出

  4. 需要手动将群聊保存至通讯录

而对我来说,除了对自己微信进行统计并分享这个工具外,我还想通过分享来达到以下的目的:

  1. 来通过分享,提升个人的「影响力」

  2. 提升自我写作水平、逻辑能力及产品思维

得益于近期的「机器学习」学习,我想到我完全可以通过Google Colab提升它。

科普科普,小板凳小板凳:

Colaboratory 是一个 Google 研究项目,旨在帮助传播机器学习培训和研究成果。它是一个 Jupyter 笔记本环境,不需要进行任何设置就可以使用,并且完全在云端运行。

Colaboratory 笔记本存储在 Google 云端硬盘 (drive.google.com/) 中,并且可以共享,就如同您使用 Google 文档或表格一样。Colaboratory 可免费使用。

通过Google Colab,我可以做到:

  1. 降低对使用者的「技术」要求,完全去除语言要求和繁琐的依赖包安装。不仅仅是Python开发者,只要接触过技术甚至有兴趣的小伙伴就可以试用。

  2. 提供两个版本:学习版和一步生成版。学习版是一步一步的,带着教学性质的。而一步生成版则一键就可以生成你感兴趣的结果。

  3. 友善的使用「手绘型」图表显示结果,并最终生成一个长图,方便分享。

  4. 由于工具本身使用itchat微信网页版开源库,拥有发送消息给手机端的能力。所以将结果直接发送的小伙伴的「文件传输助手」,以便在手机端、朋友圈愉快的装逼。

相关的技术在文章开头分享的代码中可以看到,几乎每一句都有注释。在这段500多行的程序中(我感觉写了3000行,捂脸),你可以在学到:

  1. 如何简要使用matplotlib绘制图表,及过程中遇到的一些问题

  2. 如何简要使用pandas分析数据,及过程中遇到的一些问题

  3. 如何使用PIL生成长图。这个甚至可以单独形成一个工具库~

  4. 如何使用itchat进行微信相关信息的获取等等

后记

平时看的营销长图和朋友圈长图也看的多了,也没觉得有什么。这次自己尝试搞了个长图前半部分设计及整体风格设计,感触良多:连平时看的营销长图都有值得学习的地方!

所以,事无大小,都要记得去发现学习吸纳别人的优点,这样自己才会愈来愈强!

PS:我差点在美帝饿死了,还是家里好啊

参考链接

  • 参考itchat微信开源机器人github.com/littlecoder…

  • matplotlib api matplotlib.org/api

  • pandas documents pandas.pydata.org/pandas-docs…

  • imaging api effbot.org/imagingbook…

  • Python对微信好友进行简单统计分析 zhuanlan.zhihu.com/p/21967333

欢迎关注微信公众号:猿湿Xoong

转载于:https://juejin.im/post/5b076597f265da0ddc0c0618

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

团队项目第一周总结

团队项目第一周总结 今天是周一,项目的进展周期已经进行了一周,做一个大概的总结吧。 周的工作先是定下团队的项目方向,大家技术程度各有不同,因此想大一统的定下一个有些稍稍的花费时间。定好《基于大数据的日志分析》这个题目后…

电路宽度测量halcon例子

一个halcon处理的例子 目录处理要求:原图:处理程序:处理结果:处理要求: 根据客户给的宽度,计算出电路宽度太窄的为NG 原图: 处理程序: read_image (Image, 1.png) rgb1_to_gray(I…

深入理解C/C++函数指针

函数指针数组的妙用 笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定&#xff0c…

iOS显示性能优化过程讲解

点我跳转原文地址 卡顿的原理 iOS系统界面滑动流畅性的保持主要是依靠CPU和GPU两大处理硬件间通力合作的结果,一个视图的显示需要先经过CPU创建、布局计算、对图片解码、文本绘制,然后CPU将计算的结果交给GPU,GPU可能需要对图形进行变换、合成…

asp.net web api集成微信服务(使用Senparc微信SDK)

/// <summary>/// 微信请求转发控制器/// </summary>[RoutePrefix("weixin")]public class WeixinController : ApiController{#region 创建微信菜单/// <summary>/// 创建微信菜单/// </summary>/// <returns></returns>[HttpP…

1.SoapUI接口测试--创建项目

1、点击File-->New soapUI Project 2、填写项目名称&#xff0c;接口服务地址后单击【OK】按钮后就成功创建了一个项目 3、模拟发送请求 4、创建请求 或者直接Copy一个请求 5、保存项目 6、项目是以xml的格式保存的&#xff0c;下次用的时候可以直接导入&#xff0c;点击Fil…

Misc混合halcon算子,持续更新

目录convol_imageexpand_domain_graygray_insidegray_skeletonlut_transsymmetrytopographic_sketchdeviation_nconvol_image 功能&#xff1a;用一个任意滤波掩码对一个图像卷积。 expand_domain_gray 功能&#xff1a;扩大图像区域并且在扩大的区域中设置灰度值。 gray_i…

C/C++ 函数指针调用函数

01//C/C 函数指针调用函数 02#include<iostream> 03using namespace std; 04 05void site1() 06{ 07 cout<<"www.ok2002.com"<<endl; 08} 09 10void site2() 11{ 12 cout<<"www.ok1700.com"<<endl; 13} 14 15void…

汉字编码

汉字编码 一、汉字所占的字节数 对于一个字符串sizeof("请放手")&#xff0c;结果值是4。测试操作系统&#xff1a;Centos 6.4&#xff0c;硬件平台&#xff1a;Windows 7 32位 VirtualBox 4.3.12。看来用sizeof()来计算汉字所占用的字节或空间是不准确的。strlen(&…

Noise噪音halcon算子,持续更新

目录add_noise_distributionadd_noise_whitegauss_distributionnoise_distribution_meansp_distributionadd_noise_distribution 功能&#xff1a;向一个图像添加噪声。 add_noise_white 功能&#xff1a;向一个图像添加噪声。 gauss_distribution 功能&#xff1a;产生一…

sublime text3 package control 报错

安装sublime text3之后&#xff0c;安装package control 报错&#xff0c;错误信息&#xff1a;There are no packages available for installation 根据提示&#xff0c;找到错误解决办法&#xff1a;https://packagecontrol.io/doc... 其实意思就是你的电脑代理出了问题&…

HTML图片元素(标记)

<html> <head> <title>第一个网页</title> </head> <body> ***************图片元素******************</br> <img srcmm.jpg /> </body> </html> 新建一个文件夹“text”,在text文件夹内新建index.html并放入一张…

Optical-Flow光流halcon算子,持续更新

目录optical_flow_mgunwarp_image_vector_fieldvector_field_lengthderivate_vector_fieldoptical_flow_mg 功能&#xff1a;计算两个图像之间的光流。 unwarp_image_vector_field 功能&#xff1a;使用一个矢量场来展开一个图像。 vector_field_length 功能&#xff1a;计…

Oracle中procedure和function创建举例

Procedure创建与执行&#xff1a;Case1&#xff1a; create or replace procedure procedure_name(id user.table_name.columne_name%type)is begin delete from user.table_name where columne_nameid;exception when others then dbms_output.put_line(errors);end&#xff1…

Liunx 中tr的用法

1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中cat /etc/issue |tr a-z A-Z > /tmp/issue.out2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中who | tr a-z A-Z >> who.out3、一个linux用户给root发邮件&#xff0c;要who求邮…

ASP.NET Aries 3.0发布(附带通用API设计及基本教程介绍)

主要更新&#xff1a; 1&#xff1a;升级处理机制&#xff08;js请求由同步变更为异步&#xff09; 2&#xff1a;优化前端JS&#xff1a;包括API和配置方式。 3&#xff1a;增加InputDialog功能。 4&#xff1a;增远远程验证功能。 5&#xff1a;优化权限安全机制。 6&#xf…

多线程并发之原子性(六)

最近在网上找到好多的多线程关于原子性的例子&#xff0c;说的都不是非常的明确&#xff0c;对于刚学习多线程的新手而言很容误导学员&#xff0c;在这里&#xff0c;我通过多个例子对多线程的原子性加以说明。 例子一&#xff1a;传统技术自增 package face.thread.volatilep;…

Points角点halcon算子,持续更新

目录corner_responsedots_imagepoints_foerstnerpoints_harrispoints_harris_binomialpoints_lepetitpoints_sojkacorner_response 功能&#xff1a;在图像中寻找角点。 dots_image 功能&#xff1a;在一个图像中增强圆形点。 points_foerstner 功能&#xff1a;使用Frstn…

预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

当 Visual C 项目启用了预编译头 (Precompiled header) 功能时&#xff0c;如果项目中同时混合有 .c 和 .cpp 源文件&#xff0c;则可能收到 C1853 编译器错误&#xff1a;fatal error C1853: pjtname.pch precompiled header file is from a previous version of the compiler…

甲骨文称 Java 序列化的存在是个错误,计划删除

甲骨文计划从 Java 中去除序列化功能&#xff0c;因其在安全方面一直是一个棘手的问题。 Java 序列化也称为 Java 对象序列化&#xff0c;该功能用于将对象编码为字节流...Oracle 的 Java 平台小组的首席架构师 Mark Reinhold 说&#xff1a;“删除序列化是一个长期目标&#x…