首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何存储社交软件中的「好友、粉丝关系

其中的社交达人也成了我们的茶余饭后: "你关注了谁" "她有多少粉丝" "这个网红出事了" "那个人突然爆火" 就像最近的”张同学“ 今天咱们就来研究一下: 如何存储社交软件中的「好友、粉丝关系」 01...好友 我们将每个人用蓝色的圆点表示,而其中的一号就是你, 如果有人和你是"好友"关系,那么就用一条线将对方和你连接起来,就像这样: 这就表示你与2、4、6是好友关系。...接着我们来丰富一下别人的"好友关系",同样用连线表示: 这样我们就将每个人的"好友"圈子抽象成了圆点、线, 与圆点连线的其它圆点就是我们各自的"好友"圈子。...02 粉丝 与"好友"关系不同的是,"粉丝、关注"是一种单向关系,我虽然关注了你,但你不需要同时关注我这个粉丝。...说到这里我们不如再延申一下"好友"关系,经常打游戏的兄弟们应该看到过"亲密度"这个概念,你每次和好友打完游戏都会出现类似的提示:”你和某某的亲密度上升了多少,现在为多少“。

1.2K20

千亿关系链下的新增共同好友计算

相比而言,计算新增共同好友有着更大的价值。本文介绍一种千亿关系链下的日新增共同好友挖掘算法--NTE算法。该算法基于分治的思想,将新增共好友计算问题,转换为更易于运算与实现的三角形计算问题。...在社交化推荐中,根据场景用户A,B的偏好,能够为非场景用户C提供推荐依据;在广告场景中,共同好友间A,B,C会经常查看动态和互动,覆盖到三者中的一个可以起到推广到三者的目的;在游戏场景,稳定关系的A,B...可见,无论是推荐场景、广告场景还是社交运营场景,共同好友都有极其重要的意义。在用户量关系到达百亿甚至千亿的时候,共同好友计算需要消耗大量资源,通常都是按月例行。这样无法发挥新增关系的时效性。...GTE算法不仅可以用于新增三角形计算,对于场景内关系链量级在百亿以内的场景,都可以直接用于三角形计算,从而计算共同好友列表。并且在计算共同好友列表的过程中,可以同时计算共同好友数。...具体过程为: 1.连接单向边 读取新增关系链集合Sn和历史全量关系链集合Sa,筛选单向关系链(srcId < dstId)。

3.3K00
您找到你想要的搜索结果了吗?
是的
没有找到

社交系统中用户好友关系数据库设计

在社交类系统中,用户与用户的好友关系的设计必不可少,那么如何设计好友的数据库至关重要,本篇文章带大家学习一下相关的设计方案。...ID用户名1张三2李四3王五4赵六 第二步,需要将用户与用户直接建立好友关系。这里有两种情况:单向好友关系、互为好友关系。...- 单向好友关系就是张三在李四的好友列表中,但李四没有在张三的好友列表中; - 互为好友关系,如果张三和李四为好友,则双方都在彼此的好友列表中; 好友关系设计 无论上面两种关系的哪一种,好友关系表都可以使用下面的设计...单向好友模式 如果是单向好友模式,那么两个人互为好友关系则插入的数据应该是这样: IDuser_idfriend_id112221 也就是张三是李四的好友,李四也是张三的好友。...此时使用sql语句查询时只用限定user_id作为条件即可查询出用户的好友列表: select * from tb_friend where user_id = 1 互为好友关系 因为是互为好友关系,则只需要插入一条数据即可

91520

licstar数据可视化作品:好友关系图、北京吃货地图

一、好友关系图 ? 这个图是看了一篇报道(Facebook实习生画出全球好友关系可视化地图,下文称“原图”)之后抓取了国内一家社交网络的数据照着做的。...其实原理非常简单,搜集了足够多的好友关系,及用户所在的城市,在这两个城市之间连上一条边。如果两个城市之间的好友越多,线也就越亮。和原作一样,最后会根据城市之间的距离衰减,距离近的城市,线条会亮一些。...原图在我看来非常cool,居然直接通过好友关系描绘出了海岸线,而我的这个图里无奈只能自己描上了国境线。可视化确实是数据分析的良师益友啊,在这个图里,也可以看到一些有趣的东西。

52240

微信和QQ这么多群,该如何管理好友关系

如果引入中介者模式,则对象之间的关系将变成星形结构,如下图所示。...这种模式通过提供一个中介类,将系统各层次对象间的多对多关系变成一对多关系,中介者对象可以将复杂的网状结构变成以中介者为中心的星形结构,达到降低系统的复杂性、提高可扩展性的作用。...若系统各层次对象之间存在大量的关联关系,即层次对象呈复杂的网状结构,如果直接让它们紧耦合通信,会使系统结构变得异常复杂,且当其中某个层次对象发生改变时,则与其紧耦合的相应层次对象也需进行修改,系统很难进行维护...(1)系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解。 (2)交互的公共行为,如果需要改变行为,则可以增加新的中介者类。

59220

微信和QQ这么多群,该如何管理好友关系

如果引入中介者模式,则对象之间的关系将变成星形结构,如下图所示。...这种模式通过提供一个中介类,将系统各层次对象间的多对多关系变成一对多关系,中介者对象可以将复杂的网状结构变成以中介者为中心的星形结构,达到降低系统的复杂性、提高可扩展性的作用。...若系统各层次对象之间存在大量的关联关系,即层次对象呈复杂的网状结构,如果直接让它们紧耦合通信,会使系统结构变得异常复杂,且当其中某个层次对象发生改变时,则与其紧耦合的相应层次对象也需进行修改,系统很难进行维护...(1)系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解。 (2)交互的公共行为,如果需要改变行为,则可以增加新的中介者类。

51450

从0写一个爬虫,爬取500w好友关系数据

两个小问题 为什么要爬关系对数据呢,爬些文字数据岂不更好? 为什么要爬关系对数据?...因为居士最近正在搞和社交关系相关的项目,需要对大量的关系数据做处理,而且要用到 LPA 、 PageRank 这些算法,写博客本来就需要为自己学习和工作来服务,为了加深自己的理解,因此前几篇博客都和关系数据相关...关系对的表示 我们在存放关系对的时候使用简书生成的一个唯一的userid,而不是用户名。...文件持久化 为了避免频繁在磁盘读写文件,该程序是每抓取五个用户的所有关系对后写一次文件,一个用户平均有500个关系对,也就是说,平均2500个关系对写一次文件。写文件的逻辑很简单,可以看一下代码。...0x03 零基础学爬虫的建议 目前这个小爬虫已经运行了三四天了,总共爬取了500w左右的关系对。最后的关系对数据长下面这个样子。 ?

1.5K60

Python获取好友地区分布及好友性别分布

利用Python + wxpy 可以快速的查询自己好友的地区分布情况,以及好友的性别分布数量。还可以批量下载好友的头像,拼接成大图。...批量下载好友头像 # 创建头像存放文件夹 def avaterPath(): avaterDir = os.path.join(os.getcwd(), 'wechat') if not...获取好友性别分布 bot = Bot(cache_path=True) # 弹出二维码登录微信,生成bot对象 allFriends = bot.friends() # 获取所有的微信好友信息...type = ['男同学','女同学','外星人'] # 男/女/未知性别好友名称 v = [0, 0, 0] # 初始化对象好友数量 # 遍历所有好友,判断该好友性别 for friend in...获取好友地区分布情况 代码部分: bot = Bot(cache_path=True) # 弹出二维码登录微信,生成bot对象 allFriends = bot.friends() # 获取所有的微信好友信息

58720

用Python调教微信,实现自动回复 和 微信好友分布,好友性别图,好友标签

但是有些人群,确实对此功能有一定需求,我举两个栗子: 不愿时刻被消息打扰的人 消息需要批量处理的人们(比如微商) 设计了几个功能: x 收到消息立即自动回复 x 收到消息延迟指定时间回复 x 对不同好友定制不同的回复内容...#简单分析微信好友信息 上文提到,既然我们能通过itchat来获取好友的信息,name自然会有很多好玩的信息(这里不做具体解析)。...") pie.add("", attr, v1, v1, is_label_show=True) pie.render(path="sex_html/sex.html") [性别比例] 全国好友省级分布...def friends_province(): # 获取好友省份 province= get_data("Province") # 分类 province_distribution = {} for...[全国好友分布] 好友标签 def friends_signature(): signature = get_data("Signature") wash_signature=[] for item in

2.5K60

好友及聊天功能

开头 用户交流是很多软件必备的功能,最近接到策划的新需求开发好友系统,下面分享我实现好友功能的具体方式 好友数据 数据库结构 { "friend_data" ,"mediumblob" ,{ myfriend...分为:好友列表,黑名单列表,申请列表,被删除好友列表(客户端需要),允许陌生人申请好友开关 sproto返回客户端协议格式 功能开发 玩家登陆加载好友数据,发送好友列表,黑名单列表,申请列表,删除列表信息...1、申请好友 1、判定是否已在好友列表,黑名单列表中 2、判定双方好友人数是否达到上线 3、通过即给对方推送一条消息,返回成功 sc_friend_apply_update 30006 { request...表元素删除 2、applytype为0同意申请,判定是黑名单列表、好友列表、好友人数上限 3、同意通过申请,双方好友列表添加元素,申请列表删除元素,推送一条id为0的系统信息 local chatdata...列表(客户端要求) 4、加入黑名单 1、调用删除好友方法 2、加入黑名单,推送黑名单消息 5、更新好友消息 1、有新的聊天消息时推送数据 2、玩家升级、下线、上线的情况,对玩家在线好友推送消息 --玩家升级事件

64320

iOS开发中QQ好友列表下拉显示全部好友实现思路

https://blog.csdn.net/u010105969/article/details/73312801 在QQ的好友页面有一个点击各个分类,然后展示分类中所有好友的效果,今天就说一说实现该效果的一个思路...返回的分区数就是好友的分类数。 tableview中各个分区的行数就是各个好友分类中的好友数。显示各个好友分类的视图是各个分区的一个头视图。头视图会有一个点击事件,用于好友分类的展开和收起。...return count; } tableview的数据源一般是一个数组,数组中会有模型,每一个分区对应一个模型,模式中除了有每个分区要显示的数据,我们还应为模型增加一个属性来存储各个分区的点击状态即各个好友分类是否展开

1.6K20

微信好友大揭秘

今天就用python对自己所有微信好友做一次数据分析,看看自己的微信好友存在哪些有趣的东西。...好友主要是男性,占比59%,可见自己的好友中男女比例失衡。仔细想想自己的微信好友里大多是上大学以后的同学朋友,自己是计算机专业,以男生为主,工所以男女比例失衡是正常的。...不出所料好友最多的地方是日照,从小在日照长大,专科学校又是在日照上的,所以是很正常的,现在在青岛上本科,之前在郑州工作过在济南学习过,所以这几个城市的好友也比较多。...词云图中可以看到,微信好友个性签名中出现频率较高的词汇有:自己,一个,改变,心存,善念,欢迎,关注。整体来看,我的微信好友应该是心存善念的公众号运营者居多 ?...(这都是什么鬼,是时候请一波好友了)当然还是有很多正能量词语的。 好友头像拼接 好友头像拼接是将所有的微信头像拼接成一张大图,因为好友过多只获取了一部分好友的头像。

1.9K30

实现好友及聊天功能

前言 用户交流是很多软件必备的功能,最近接到策划的新需求开发好友系统,下面分享我实现好友功能的具体方式 好友数据 数据库结构 { "friend_data" ,"mediumblob" ,{ myfriend...分为:好友列表,黑名单列表,申请列表,被删除好友列表(客户端需要),允许陌生人申请好友开关 功能开发 玩家登陆加载好友数据,发送好友列表,黑名单列表,申请列表,删除列表信息 1、申请好友 1、判定是否已在好友列表...同意申请,判定是黑名单列表、好友列表、好友人数上限 3、同意通过申请,双方好友列表添加元素,申请列表删除元素,推送一条id为0的系统信息 local chatdata = {id = 0,str = "...对方已通过你的好友申请",time = lua_app.now()} 3、删除好友 1、从双方好友列表删除 2、对方在线推送删除消息,不在线保存在对方的delfriendlist列表(客户端要求) 4、...加入黑名单 1、调用删除好友方法 2、加入黑名单,推送黑名单消息 5、更新好友消息 1、有新的聊天消息时推送数据 2、玩家升级、下线、上线的情况,对玩家在线好友推送消息 --玩家升级事件 function

1.3K00

itchat 保存好友信息以及生成好友头像图片墙

然后是获取好友的信息: we_friend = itchat.get_friends(update=True)[:] 这里 we_friend 就是保存了好友信息的一个字典,并且 we_friend[...省份 City 城市 Signature 签名 保存好友的信息代码如下: friends = we_friend[1:] total_numbers = len(friends) print('你的好友数量为...接着就是生成好友头像的图片墙,这里有两种方式,第一种是比较常规的生成方法。...小结 简单运用 itchat 实现了以上三个小应用,实际上还可以有更多的应用,比如再根据好友信息分析性别比例、好友区域分布、签名的情感分析、关注的公众号类别、给特定的好友发送信息,以及制作微信机器人等。...当 Python 遇上你的微信好友

81620

Python爬取所有微信好友头像,制作微信好友图片墙

今天咱就试试怎么爬取微信列表中所有好友的头像,并做成一张图片墙,代码不长,60 行就可以搞定。...核心是利用三个库: wxpy 库,用于获取好友头像然后下载 Pillow 库,用于拼接头像 Pyinstaller 库,用来打包 Python 程序成 exe 文件 程序通过三个函数实现,第一个 creat_filepath...函数生成图片下载文件路径,第二个 save_avatar 函数循环获取微信好友头像然后保存到本地,第三个 joint_avatar 函数就是把头像拼接成一张大图。...\\"; if not os.path.exists(avatar_dir): os.mkdir(avatar_dir) return avatar_dir # 保存好友头像...friend in friends: friend.get_avatar(avatar_dir + '\\' + str(num) + ".jpg") print('好友昵称

7K20
领券