从公司内部建立网络api

chp的Python项目详细描述


chpy

英国公司house api的包装器,用python编写,使用networkx构建的网络分析工具。

注释

这个工具使用户能够从英国公司内部api的信息构建企业网络。 网络是通过以下过程构建的:

  • 用户输入一个有效的英国公司编号,以及一个api密钥和一些所需的迭代。
  • CHPY从该公司提取有关其管理人员和重要控制人员(PSC)的信息。
  • 人员/PSC与被搜索公司之间的关系将添加到边缘列表中。
  • 如果一个官员是一个有效的英国公司,它将被添加到一个公司列表中,以便在以后的迭代中进行检查。注意:在0.1.1a中,此功能不扩展到pscs。
  • 然后,chpy使用模糊匹配和出生日期/地址检查来验证搜索结果,在companies house api中搜索其他公司的每个官员/pscs约会。
  • 然后将这些关系添加到edge列表中,并将公司添加到company表中,以便在以后的迭代中进行分析。
  • 进程循环到用户指定的深度。

0.1.1中的新功能

  • 主要功能——get_company_network()——已经过全面的检查:
    • 一种新的、更清晰的数据采集结构。
    • 迭代深度。
    • 从python中输出到networkx图形和pandas数据帧。
    • 运行时输出更清晰,但是进度条功能暂时被挂起。

工作原理

alt text

用法

这个工具目前打算与jupyter笔记本一起使用,我在“example”目录中提供了一个示例。 我相信大多数用户想要做的只是从他们感兴趣的公司建立一个网络。 强烈建议将深度设置为1或2。深度是指数级的,错误也是指数级的(见下面的“警告词”)。

pip install chpy
from chpy.build import *

# You'll need your own API key from Companies House and to load
# it as a variable in Python.
with open('API_KEY.txt') as f:
    api_key = f.read().strip()

graph, edge_list, company_table = get_company_network("a valid company number", api_key, 2)

上面的代码以networkx格式返回一个图形,并以pandas数据帧的形式返回一个edge_list和company_table。

此外,chpy将三个对象输出到./data/company_number_depth/:

  • 一个CSV格式的节点列表
  • CSV格式的一个边缘列表
  • 一个GEXF格式的图形,用于GEPHY或类似的图形

一句警告的话

这在很大程度上仍在开发中,而且由于公司内部(ch)数据的维护和结构方式,使用此工具时需要一定程度的谨慎。值得注意的是:

  • ch不维护已经停业一段时间的公司的信息,因此请注意,在许多情况下,生成的数据将是不完整的。
  • 同样,不活跃的官员也不一定总是有。
  • 由于ch-api所使用的唯一标识符系统的局限性,该软件广泛使用模糊匹配来建立公司和官员之间的链接。该系统的设计是保守的关系,它建立,需要出生日期(如果可用)和位置匹配,因此可能错过关系,如果一个强大的匹配没有找到。
  • 同样,考虑到ch search api和模糊匹配的使用,尽管有上述的保护措施,在特殊情况下,“误报”仍然可能发生。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将springboot war部署到debian jetty8   java破坏了函数,即使它看起来是正确的   当MockMvc不可自动编译时,java会有选择地从Spring Security向其应用单个过滤器   java AndroidStudio每秒播放n次生成的声音   JavaJBossSeam:继承的方法被拦截了吗?   ScheduledExecutorService中线程默认名称中池号的java含义   在Java中用递归方法实现类Fibonacci的递归   java虚拟路径/文件夹   java即时与ZoneDateTime。转换到另一时区   用GaussLegendre算法在java中逼近Pi   java RecyclerView findFirstVisibleItemPosition()返回1   java根据当前经过身份验证的用户的角色返回不同的JSON对象   java从内部类访问扩展类的方法   Android程序中的Java语法WRT静态方法   可选参数初始化Java字符串文字时出错