精华内容
下载资源
问答
  • 看小伙是怎么发现CSDN前10大佬之间关系

    万次阅读 多人点赞 2020-10-12 14:22:11
    看小伙是怎么发现CSDN前10大佬之间关系的前言一、获取排行数据二、获取关注列表三、绘制关系图1.创建关注关系2.绘制关系图3.结果展示写在最后 前言 大家都知道,CSDN总榜的地址是: ... 打开网页,我肃然起敬,那里都...

    前言

    大家都知道,CSDN总榜的地址是:

    https://blog.csdn.net/rank/writing_rank_total
    

    打开网页,我肃然起敬,那里都是一位位大佬。而我却遥遥不可及,唯有长叹息以励己。
    也许大家跟我一样都怀着一颗好奇的心:排名Top10的大佬它们之间究竟有什么关系呢?(他们是否相互关注?)
    于是,今天kimol君要干的便是这件事。

    一、获取排行数据

    通过简单的抓包可以找到排行榜数据的接口:

    https://blog.csdn.net/api/WritingRank/totalList
    

    注:这里的api地址与上文提到的榜单地址有所不同
    定义获取榜单数据的函数:

    def get_ranks():
        '''
        获取CSDN前10的博主信息(排名,用户id,用户昵称)
        '''
        url = 'https://blog.csdn.net/api/WritingRank/totalList'
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',
            'Accept': 'application/json, text/javascript, */*; q=0.01',
            'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
            'Referer': 'https://blog.csdn.net/rank/writing_rank_total',
            'X-Requested-With': 'XMLHttpRequest',
            'Connection': 'keep-alive',
            'TE': 'Trailers',
        }
        params = (
            ('username', 'kimol_justdo'),
            ('page', '1'),
            ('size', '10'),
        )
        res = requests.get(url, headers=headers, params=params)
        data = res.json()
        users = data['data']['list']
        ranks = []
        for i in range(len(users)):
            ranks.append((i+1,users[i]['username'],users[i]['user_nickname']))
        return ranks
    

    获取总榜单的数据,返回前10的数据,包含(排名用户名用户昵称)三个字段。

    二、获取关注列表

    想要分析大佬之间的关系,我们必须拿到他们的关注列表,分析他们之间是否存在相互关注的关系。关注列表的页面为:

    https://me.csdn.net/follow/xxxx
    

    其中xxxx表示用户名,则可以定义相关函数如下:

    def get_follows(username):
        '''
        获取博主的关注列表(最多获取20位)
        '''
        url = 'https://me.csdn.net/follow/%s'%username
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
            'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
            'Connection': 'keep-alive',
            'Upgrade-Insecure-Requests': '1',
        }
        res = requests.get(url,headers=headers)
        html = res.text
        soup = BeautifulSoup(html, 'html.parser')
        follows = soup.find_all(class_='user_name')
        follows = [f.text.strip() for f in follows]
        return follows
    

    返回的数据为该博主关注的用户昵称的列表(最多能获取到20个)。

    三、绘制关系图

    利用python中的networkx库来绘制TOP10博主相互关注的关系网络图。

    1.创建关注关系

    利用一、二中的函数,创建关注列表:

    # 获取排名前10的博主,以及关注列表
    ranks = get_ranks()
    follow_list = []
    for r in ranks:
        follows = get_follows(r[1]) # 根据username获取关注列表
        follows = follows[:3]       # 取前3
        for f in follows:
            follow_list.append((r[2],f)) # 添加关注关系(nickname,nickname)
    

    为了防止网络图过于繁杂,不便于观看,我们只取每名博主关注列表中的前3名。最后的关系(即1个二元组)列表如下:
    在这里插入图片描述

    2.绘制关系图

    根据关系列表,用networkx库来绘制相应的关系网络图,代码如下:

    # 定义网络图   
    G = nx.DiGraph()
    G.add_edges_from(follow_list) # 添加网络边
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签 
    
    # 定义颜色参数   
    val_map = {}
    color_value = 0.6
    for r in ranks:
        val_map[r[2]] = color_value
        color_value -= 0.06
    values = [val_map.get(node,0.5) for node in G.nodes()]
    
    # 绘制网络图
    pos = nx.spring_layout(G) 
    nx.draw_networkx_nodes(G,pos,cmap=plt.get_cmap('jet'),node_color=values) # 绘制节点
    nx.draw_networkx_labels(G,pos,font_weight=1.0) # 绘制标签
    nx.draw_networkx_edges(G,pos,edgelist=G.edges(),edge_color='gold',arrows=True) # 绘制边
    plt.show(
    

    关于networkx库的详细用法,我就不过多介绍了,大家可以参考—>Python Network(一)基础入门(节点和边基本概念,网络统计量)

    3.结果展示

    TOP10博主相互关注关系图如下:
    在这里插入图片描述
    注:这里为了简洁美观只选取了每名博主前3的关注对象,所以结果不会很准确,仅作为参考。
    从图可以看出:大佬们之间似乎不存在明显的相互关注的现象,而且他们关注的博主重复率也很低,这与我一开始的猜想还是有一点点差别的。这大概是因为各位博主大大各有所长,专注于不同的领域。
    当然,这也很可能与我选取的数据量不够大有着莫大关系。如果有感兴趣的小伙伴,欢迎一起进一步研究哦~

    写在最后

    讲道理,我个人觉得这个关系图属实有点丑。如果后续有时间的话,我会考虑用pyecharts来重新绘制一个图,设想是:可以更加美观,可以把博主的头像作为节点,颜色更加丰富,可以把排名凸显出来…害~ 幻想总是美好的,有空的话就把它实现了叭。

    最后,感谢各位大大的耐心阅读,咋们下次再会~

    创作不易,大侠请留步… 动起可爱的双手,来个赞再走呗 (๑◕ܫ←๑)

    展开全文
  • 一、类接口之间关系: 实现关系。 1、类接口要注意的事项: 1)重点内容非抽象类实现一个接口时,必须要把接口中所有方法全部实现。 2)抽象类实现一个接口时,可以实现也可以不实现接口中的 方法。 3)一个...

    一、类与接口之间关系: 实现关系。
    1、类与接口要注意的事项:
    1)重点内容非抽象类实现一个接口时,必须要把接口中所有方法全部实现。
    2)抽象类实现一个接口时,可以实现也可以不实现接口中的 方法。
    3)一个类可以实现多个接口 。

    2、疑问: java为什么不支持多继承,而支持了多实现呢?
    答:代码所示,假设可以多继承,那么当两个父类有同名的方法,子类使用该方法时,会调用哪一个呢?所以java中不可能存在多继承。

    class A{            
        public void print(){
            System.out.println("AAAAAA");
        }
    }
    class B{
        public void print(){
            System.out.println("BBBBBB");
        }
    }
    class C extends A ,B{
    
    }
    class Demo{
        public static void main(String[] args){
            new C().print();
        }
    }                   

    二、接口与接口之间关系: 继承关系。
    1、接口与接口之间要注意事项:一个接口是可以继承多个接口的。

    三、总结:类与接口是可以多实现的,接口与接口是可以多继承的。

    四、多态:
    1、面向对象的三大特征:封装、继承、多态

    2、多态含义:一个对象具备多种形态。(父类的引用类型变量指向了子类的对象)(或者是接口的引用类型变量指向了接口实现类的对象)

    3、多态的前提:必须存在继承或者实现关系。

    4、多态要注意的细节:
    1)多态情况下,子父类存在同名的成员变量(无论静态还是非静态)时,访问的是父类的成员变量。

    2)多态情况下,子父类存在同名的非静态的成员函数时,访问的是子类的成员函数。

    3)多态情况下,子父类存在同名的静态的成员函数时,访问的是父类的成员函数。

    4)多态情况下,不能访问子类特有的成员。

    总结:多态情况下,子父类存在同名的成员时,访问的都是父类的成员,除了在同名非静态函数时才是访问子类的。

    5、编译看左边,运行不一定看右边。
    解释:编译看左边:java编译器在编译的时候,会检查引用类型变量所属的类是否具备指定的成员,如果不具备马上编译报错。

    6、多态的应用:
    1)多态用于形参类型的时候,可以接收更多类型的数据 。
    需求1: 定义一个函数可以接收任意类型的图形对象,并且打印图形面积。
    解决方法1:使用函数重载,不好,每多一个类型,就要增加一个对应的重写方法,程序的拓展性差。并且代码重复冗余。
    解决方法2:

    2)多态用于返回值类型的时候,可以返回更多类型的数据。
    需求2: 定义一个函数可以返回任意类型的图形对象。
    解决方法:

    7、多态的好处: 提高了代码的拓展性。

    展开全文
  • 很多人在使用springboot和springcloud,但是对于这两者之间的版本关系不是很清楚,特别是在面临升级的时候不知道该如何操作。本文简要摘录的官方文档的部分内容作为依据,供广大同行参考。 问题的提出,我现在使用...

    很多人在使用springboot和springcloud,但是对于这两者之间的版本关系不是很清楚,特别是在面临升级的时候不知道该如何操作。本文简要摘录的官方文档的部分内容作为依据,供广大同行参考。

    问题的提出,我现在使用的是1.5.1版本的springboot 和Edgware.RELEASE版本的springcloud,我想升级到springboot到2.0.0, springcloud需要升级吗? 或者我想单独升级springcloud到Finchley.RELEASE,可以不用升级springboot吗?

    如果一次升级多个基础框架,可能面临的风险较大,需要我们审慎评估和测试,所以一般我们都是小步快速升级,先升级一个,上线没问题后,再升级另外一个,最终达到升级整改项目框架。可是有时我们必须理清楚这些要升级的框架之间的依赖关系,否则就无法有的放矢,因为升级了A,可能系统就无法正常运行,因为A和他依赖的某个框架是同步绑定版本的,升级A就必须同步升级他的依赖。而SpringCloud和Springboot就存在这样的关系。

    Spring Cloud的版本列表
    这里写图片描述

    release发布记录在这里

    https://projects.spring.io/spring-cloud/。 Finchley builds and works with Spring Boot 2.0.x, and is not expected to work with Spring Boot 1.5.x.
    The Dalston and Edgware release trains build on Spring Boot 1.5.x, and are not expected to work with Spring Boot 2.0.x.
    The Camden release train builds on Spring Boot 1.4.x, but is also tested with 1.5.x.
    NOTE: The Brixton and Angel release trains were marked end-of-life (EOL) in July 2017.
    The Brixton release train builds on Spring Boot 1.3.x, but is also tested with 1.4.x.

    从这段文字可以知道,
    Finchley需要Spring Boot 2.0.x,预计不会与Spring Boot 1.5.x一起工作(潜在台词,和1.5.x没有做过兼容性测试,最好不要和1.5.x一起使用)。
    Dalston版本和Edgware版本是在Spring Boot 1.5.x上构建的,预计不会与Spring Boot 2.0.x一起工作。
    Camden 版本是在 Spring Boot 1.4.x上构建的,但是也和Spring Boot 1.5.x进行过测试。所以可以认为是能够和Spring Boot 1.5.x一起工作的。
    Brixton版本和Angel版本已经不再支持了(2017-07就结束了)。

    Spring Cloud与Spring Boot版本匹配关系
    这里写图片描述

    展开全文
  • java中类之间有单继承关系,类接口之间有单实现关系,也有多实现关系,接口接口之间有多继承关系吗,单继承关系呢,还是多实现,单实现关系,那么对象对象之间又有什么关系
  • link中函数副作用和并行调用之间联系是什么?它们之间是什么关系
  • 1、可以从下面网址中查询显卡驱动Cuda版本之间的对应关系: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 下图是上面网站中查询的结果: 2、cudacudnn版本之间的对应关系可从下面...

    1、可以从下面网址中查询显卡驱动与Cuda版本之间的对应关系:

    https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

    下图是上面网站中查询的结果:

    2、cuda与cudnn版本之间的对应关系可从下面网站得知:

    https://developer.nvidia.com/rdp/cudnn-archive#a-collapse742-10

    如下是其中一部分截图:

     

    3、如果要安装tensorflow和pytorch,还需要与所安装的cuda和cudnn匹配。

    对于tensorflow,可以从下面网站中得知:

    https://tensorflow.google.cn/install/source

    下面是其中部分截图:

    对pytorch,直接上pytorch官网即可,里面已经为各cuda版本对应的pytorch安装方式指定了相应的安装命令。

    网址:https://pytorch.org/

    部分截图如下图所示:

     

    展开全文
  • 之间的六种关系的表示方法

    千次阅读 2019-02-22 12:03:52
    之间有以下六种关系: 依赖 关联 聚合 组合 实现 泛化 1、依赖关系 虚线+箭头表示 例如:人车 2、关联关系 实线+箭头表示 例如:老师课程 3、聚合关系 空心菱形+箭头表示 例如:大雁和雁群 4、组合...
  • 对象对象之间关系

    千次阅读 2016-12-10 12:03:50
    对象对象之间关系 1、关联关系 关联关系指的是对象对象之间的引用关系, 常见的有一对多, 一对一, 多对多, 多对一关系。  关联关系还有双向关联单向关联。 2、依赖关系  依赖关系指的是类之间的...
  • 之间关系:使用和组合关系
  • 之间的几种关系

    万次阅读 2017-03-14 08:30:22
    之间的几种关系 一、继承关系 继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识...
  • 超类子类之间关系

    千次阅读 2017-03-09 17:01:03
    类的行为和属性分为两部分:自己的...}覆盖子类中定义的方法在超类中也定义过,使用时将使用子类中的定义,因此子类可修改、替换、删除超类中的行为和属性覆盖方法子类要想覆盖超类中的方法,必须以超类相同的方式声
  • 谈谈类之间的关联关系与依赖关系

    千次阅读 2016-08-03 10:28:30
    对于很多刚刚接触UML的童鞋,可能会对类之间的关联依赖关系不太理解,今天小菜就浅薄的讲一下。 这块的确是有点乱,不过小菜突然找到了一个比较好的切入点,拿出来分享一下。 接触过设计模式的读者,会经常...
  • 数据库表之间关系

    万次阅读 2018-09-15 08:53:14
    数据库表之间关系(设计表时考虑的)有三种:一对一、一对多(多对一)、多对多。 一对一 建表原则: 外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一unique。 外键是主键:主表的...
  • 浅析Spring bootSpring cloud 之间关系

    万次阅读 多人点赞 2018-05-17 16:28:43
    浅析Spring bootSpring cloud 之间关系 2018-05-15 18:16:10有些童鞋刚接触这块 ,理解不是很深刻会经常问道这样类似的问题,下面我就简单讲解一下Spring bootSpring cloud 之间关系!Spring boot 是 ...
  • sessioncookie之间关系

    万次阅读 多人点赞 2018-07-05 09:11:32
    一、客户端服务端请求响应的关系 USER(客户端) 请求 tomcat(服务器), 属于HTTP请求。http请求是无状态的,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;...
  • 之间的常见关系

    万次阅读 多人点赞 2019-06-13 11:49:20
    之间关系说明 对象的关联 — 简单地说,是指一个对象中使用了另一个对象。 1、依赖关系(Dependency) 对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于...
  • 之间关系

    万次阅读 2018-05-29 16:42:45
    之间关系之间关系(设计表时考虑的)有三种:一对一、一对多(多对一)、多对多。一对一一对一:一张表的一条记录一定只能另外一张表的一条记录进行对应;反之亦然。 一个常用表中的一条记录,...
  • 关系型数据库表之间关系

    千次阅读 2017-12-25 15:29:59
    定义:有两个表,在第一个表中的某一行只第二个表中的一行相关,同时第二个表中的某一行,也只第一个表中的一行相关,我们称这两个表为一对一关系。 例如: 第一张表: ID 姓名 国籍 ...
  • class Computer{ Mouse mouse; Monitor monitor public setMouse(Mouse mouse){this.mouse=mouse;} public setMouse(Monitor monitor){this.monitor=monitor;} } class Mouse{} class Monitor{}
  • Spring-bean之间关系

    千次阅读 2017-08-02 08:31:26
    总结概述不但可以通过引用另外一个bean,建立起Bean和Bean之间的依赖关系, bean元素标签之间也可以建立类似的关系,完成一些特殊的功能。在Spring容器中,两个Bean之间 除了注入关系外,还存在 继承、依赖、引用 三...
  • 之间关系和耦合度

    千次阅读 2020-06-30 21:19:46
    根据类之间的耦合度从弱到强排列,UML 中的类图有以下几种关系:依赖关系、关联关系、聚合关系、组合关系、泛化关系和实现关系。其中泛化和实现的耦合度相等,它们是最强的。 依赖关系 依赖(Dependency)关系是...
  • 云计算大数据之间关系

    千次阅读 2018-11-30 10:56:01
    云计算的关键词在于“整合”,无论你是通过现在已经很成熟的传统的虚拟机切分型技术,还是通过google后来所使用的海量节点聚合型技术,它都是通过将海量的服务器资源通过网络进行整合,调度分配给用户,从而解决用户...
  • 关系型数据库中实体之间关系

    千次阅读 2018-06-20 20:47:00
    关系型数据库实体间有三种关联关系:一对一,一对多,多对多。 一对一关系(1:1):  如果实体集(表)A 中的每一个实... 员工表、员工详细信息表之间关系是员工表中的一行详细信息表中的一行对应 一对多关...
  • 一篇文章看明白 Activity Window View 之间关系

    万次阅读 多人点赞 2018-03-01 10:24:31
    Android - Activity Window View 之间关系 概述 我们知道 Activity 启动后就可以看到我们写的 Layout 布局界面,Activity 从 setContentView() 到显示中间做了什么呢?下面我们就来分析下这个过程。 如...
  • hibernate session数据库连接之间关系总结
  • cpu多线程之间关系

    千次阅读 2018-07-02 14:12:00
    Linux查看CPU的使用情况:命令 topWindows查看CPU的使用情况:命令 ctrl+shift+esc ,点击查看性能CPU 多线程之间关系 CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级。CPU从早期的单核,发展到现在...
  • 1 Hive HDFS 之间联系(1)hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。其优点是学习成本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,294,540
精华内容 917,816
关键字:

关系与关系之间的联系是通过