精华内容
下载资源
问答
  • 注:详细文档在我的下载资源中,拓扑图如不清晰则可查看pkt文件 已将本文中的拓扑图进行了替换,改善了清晰度。...Cisco Packet Tracer v7.2.2-中小型企业网络建设最终部署文件与文章中小型企业网...

    注:详细文档在我的下载资源中,拓扑图如不清晰则可查看pkt文件

    已将本文中的拓扑图进行了替换,改善了清晰度。若还有疑问,可下载pkt文件进行查看。

    用高版本打开,本实验PKT格式文件用7.2.2版本可以打开

    环境要求:

    Cisco Packet Tracer v7.2.2软件

    说明:

    Cisco Packet Tracer v7.2.2-中小型企业网络建设最终部署文件与文章中小型企业网络建设-Cisco Packet Tracer v7.2.2思科网络模拟器实验练习(https://blog.csdn.net/weixin_39329758/article/details/90709777) 相对应;

    1.下载对应Cisco Packet Tracer v7.2.2软件,在软件中打开“中小型企业网络建设.pkt”即可。

    2.等待各个设备加载完毕即可。

    文档链接:https://download.csdn.net/download/weixin_39329758/11234846

    配置结果pkt文件链接:https://download.csdn.net/download/weixin_39329758/11234813

    Cisco Packet Tracer v7.2.2软件(64位)下载:https://download.csdn.net/download/weixin_39329758/11996158

    一、系统需求及功能

    1.系统需求:

    某集团公司拟为某地的H分公司部署局域网络,并连接到公司总部的网络。总部网络如下图所示:

    H分公司获得了总部统一分配的24位子网掩码的B类私网地址。现还需采购1台路由器、2台三层交换机、4台24口的二层交换机和1台FTP服务器,设备及相关材料由施工方采购。请设计并实施H分公司的网络建设。

    2.网络要求:

    2.1、 H网络接入到R2路由器上,使用OSPF动态路由协议,并配置为完全末梢区域;

    2.2、 H有三个部门,分别是行政部20台左右的主机(实际验收用2台主机作验证,下同),技术部20台左右的主机,工程部40台左右主机,它们必须分属3个不同的VLAN;

    2.3 、H所有主机均能通过NAT访问总部网络(以能ping通总部PC为准);

    2.4、 H的技术部允许访问H的FTP服务器(FTP服务器需部署FTP服务,其他PC部署FTP客户端,以能实现FTP上传下载为准),其他部门不能访问;

    2.5 、H网络在核心交换机处部署冗余保护,FTP服务器部署冗余保护;

    2.6、 所有主机自动获取IPv4地址。

    3.基本功能:

    3.1 、H所有主机均能通过NAT访问总部网络(以能ping通总部PC为准);

    3.2、 H的技术部允许访问H的FTP服务器(FTP服务器需部署FTP服务,其他PC部署FTP客户端,以能实现FTP上传下载为准),其他部门不能访问;

    3.3 、所有主机自动获取IPv4地址;

    3.4 、使用STP协议处理了网络之间形成的环路,不会产生广播风暴;

    二、设计方案

     

    三、系统规划设计

    1.设计流程:

    2.Vlan划分:

     

    部门

     

    Vlan

    主机数

    网络地址

    广播地址

    可用范围/子网掩码

    可用主机数

    工程部

    10

    40

    10.31.1.0

    10.31.1.63

    10.31.1.1-10.31.1.62/26

    62

    技术部

    20

    22

    10.31.1.64

    10.31.1.95

    10.31.1.65-10.1.1.94/27

    30

    行政部

    30

    22

    10.31.1.96

    10.31.1.127

    10.12.1.97-10.31.1.126/27

    30

    3.端口划分:

     

    部门

     

    主机数

    接口

    Vlan

    备注

    工程部

    40

    10.31.1.0

    SW2-1(1-22)+SW2-2(1-18)

    10

     

    技术部

    20

    10.31.1.64

    SW2-3(1-20)

    20

     

    行政部

    20

    22

    10.21.1.96

    SW-(1-20)

    30

     

    4.网络拓扑:

    以下为各部分较为清晰详细的地址等分配信息:

    四、项目脚本:

    1、二层交换机VLAN划分

    SW2-1:(工程部)

    Switch>enable
    Switch#configure terminal
    Switch(config)#hostname SW2-1
    SW2-1(config)#vlan 10
    SW2-1(config-vlan)#exit
    SW2-1(config)#interface range f0/1-22
    SW2-1(config-if-range)#switchport mode access
    SW2-1(config-if-range)#switchport access vlan 10
    SW2-1(config-if-range)#exit
    SW2-1(config)#interface range f0/23-24
    SW2-1(config)#switchport mode trunk
    SW2-1(config)#exit
    

    SW2-2:(工程部)

    Switch>enable
    Switch#configure terminal
    Switch(config)#hostname SW2-2
    SW2-2(config)#vlan 10
    SW2-2(config-vlan)#exit
    SW2-2(config)#interface range f0/1-18
    SW2-2(config-if-range)#switchport mode access
    SW2-2(config-if-range)#switchport access vlan 10
    SW2-2(config-if-range)#exit
    SW2-2(config)#interface range f0/23-24
    SW2-2(config)#switchport mode trunk
    SW2-2(config)#exit
    

    SW2-3:(技术部)

    Switch>enable
    Switch#configure terminal
    Switch(config)#hostname SW2-3
    SW2-3(config)#vlan 20
    SW2-3(config-vlan)#exit
    SW2-3(config)#interface range f0/1-20
    SW2-3(config-if-range)#switchport mode access
    SW2-3(config-if-range)#switchport access vlan 20
    SW2-3(config-if-range)#exit
    SW2-3(config)#interface range f0/23-24
    SW2-3(config)#switchport mode trunk
    SW2-3(config)#exit
    

    SW2-4:(行政部)

    Switch>enable
    Switch#configure terminal
    Switch(config)#hostname SW2-4
    SW2-4(config)#vlan 30
    SW2-4(config-vlan)#exit
    SW2-4(config)#interface range f0/1-20
    SW2-4(config-if-range)#switchport mode access
    SW2-4(config-if-range)#switchport access vlan 30
    SW2-4(config-if-range)#exit
    SW2-4(config)#interface range f0/23-24
    SW2-4(config)#switchport mode trunk
    SW2-4(config)#exit
    

    2、三层交换机端口链路聚合及与二层交换机的连通配置

            主要实现的三层交换机之间的冗余备份,将其中二层交换机与三层交换机之间用trunk线连起来。

    SW3-1:

    Switch>enable
    Switch#configure terminal
    Switch(config)#hostname SW3-1
    SW3-1(config)#vlan 10
    SW3-1(config-vlan)#exit
    SW3-1(config)#vlan 20
    SW3-1(config-vlan)#exit
    SW3-1(config)#vlan 30
    SW3-1(config-vlan)#exit
    SW3-1(config)#interface range f0/5-6
    SW3-1(config-if-range)#switchport trunk encapsulation dot1q
    SW3-1(config-if-range)#switchport mode trunk
    SW3-1(config-if-range)#channel-group 1 mode on
    SW3-1(config-if-range)#switchport mode access
    SW3-1(config-if-range)#switchport access vlan 10
    SW3-1(config-if-range)#switchport access vlan 20
    SW3-1(config-if-range)#switchport access vlan 30
    SW3-1(config-if-range)#exit
    SW3-1(config)#interface range f0/1-4
    SW3-1(config-if-range)#switchport trunk encapsulation dot1q
    SW3-1(config-if-range)#switchport mode trunk
    SW3-1(config-if-range)#exit
    SW3-1(config)#
    

    SW3-2:

    Switch>enable
    Switch#configure terminal
    Switch(config)#hostname SW3-2
    SW3-2(config)#vlan 10
    SW3-2(config-vlan)#exit
    SW3-2(config)#vlan 20
    SW3-2(config-vlan)#exit
    SW3-2(config)#vlan 30
    SW3-2(config-vlan)#exit
    SW3-2(config)#interface range f0/5-6
    SW3-2(config-if-range)#switchport trunk encapsulation dot1q
    SW3-2(config-if-range)#switchport mode trunk
    SW3-2(config-if-range)#channel-group 1 mode on
    SW3-2(config-if-range)#switchport mode access
    SW3-2(config-if-range)#switchport access vlan 10
    SW3-2(config-if-range)#switchport access vlan 20
    SW3-2(config-if-range)#switchport access vlan 30
    SW3-2(config-if-range)#exit
    SW3-2(config)#interface range f0/1-4
    SW3-2(config-if-range)#switchport trunk encapsulation dot1q
    SW3-2(config-if-range)#switchport mode trunk
    SW3-2(config-if-range)#exit
    SW3-2(config)#
    

    3、三层交换机Vlan间通信配置

            三层交换机可以实现不同vlan之间的互通,只需要打开三层交换机的路由功能(ip routing),然后二层交换机与三层交换机之间用trunk链路连接,将每个vlan封装进去即可实现不同vlan之间的通信。

    SW3-1:

    SW3-1(config)#interface vlan 10
    SW3-1(config-if)#no shutdown
    SW3-1(config-if)#ip address 10.31.1.62 255.255.255.192
    SW3-1(config-if)#exit
    SW3-1(config)#
    SW3-1(config)#interface vlan 20
    SW3-1(config-if)#no shutdown
    SW3-1(config-if)#ip address 10.31.1.94 255.255.255.224
    SW3-1(config-if)#exit
    SW3-1(config)#
    SW3-1(config)#interface vlan 30
    SW3-1(config-if)#no shutdown
    SW3-1(config-if)#ip address 10.31.1.126 255.255.255.224
    SW3-1(config-if)#exit
    SW3-1(config)#
    

    SW3-2:

    SW3-2(config)#interface vlan 10
    SW3-2(config-if)#no shutdown
    SW3-2(config-if)#ip address 10.31.1.62 255.255.255.192
    SW3-2(config-if)#exit
    SW3-2(config)#
    SW3-2(config)#interface vlan 20
    SW3-2(config-if)#no shutdown
    SW3-2(config-if)#ip address 10.31.1.94 255.255.255.224
    SW3-2(config-if)#exit
    SW3-2(config)#
    SW3-2(config)#interface vlan 30
    SW3-2(config-if)#no shutdown
    SW3-2(config-if)#ip address 10.31.1.126 255.255.255.224
    SW3-2(config-if)#exit
    SW3-2(config)#
    

    4、路由器配置

    用ospf动态路由实现网络层的通信,给三层交换机与路由器相通的端口也配置IP地址,实现传输层到网络层的通信。

    R3:

    Router>enable
    Router#configure terminal
    Router(config)#hostname R3
    R3(config)#interface loopback 1
    R3(config-if)#no shutdown
    R3(config-if)#ip address 10.31.1.254 255.255.255.255
    R3(config-if)#exit
    R3(config)#interface g0/0
    R3(config-if)#no shutdown
    R3(config-if)#ip address 10.31.1.130 255.255.255.252
    R3(config-if)#exit
    R3(config)#interface g0/1
    R3(config-if)#no shutdown
    R3(config-if)#ip address 10.31.1.133 255.255.255.255
    R3(config-if)#exit
    R3(config)#interface g0/2
    R3(config-if)#no shutdown
    R3(config-if)#ip address 10.31.1.137 255.255.255.252
    R3(config-if)#exit
    R3(config)#router ospf 10	
    R3(config-router)#router-id 10.31.1.254 
    R3(config-router)#network 10.31.1.254 0.0.0.0 area 1
    R3(config-router)#network 10.31.1.128 0.0.0.3 area 1
    R3(config-router)#network 10.31.1.132 0.0.0.3 area 1
    R3(config-router)#network 10.31.1.136 0.0.0.3 area 1
    R3(config-router)#exit
    

    R2

    Router>enable
    Router#configure terminal
    Router(config)#hostname R2
    R2(config)#interface loopback 1
    R2(config-if)#no shutdown
    R2(config-if)#ip address 10.31.1.253 255.255.255.255
    R2(config-if)#exit
    R2(config)#interface g0/0
    R2(config-if)#no shutdown
    R2(config-if)#ip address 10.31.1.129 255.255.255.252
    R2(config-if)#exit
    R2(config)#interface g0/1
    R2(config-if)#no shutdown
    R2(config-if)#ip address 10.31.2.1 255.255.255.0
    R2(config-if)#exit
    R2(config)#router ospf 10	
    R2(config-router)#router-id 10.31.1.253 
    R2(config-router)#network 10.31.1.253 0.0.0.0 area 0
    R2(config-router)#network 10.31.2.0 0.0.0.255 area 0
    R2(config-router)#network 10.31.1.128 0.0.0.3 area 1
    R2(config-router)#exit
    

    R1:

    Router>enable
    Router#configure terminal
    Router(config)#hostname R1
    R1(config)#interface loopback 1
    R1(config-if)#no shutdown
    R1(config-if)#ip address 10.31.1.252 255.255.255.255
    R1(config-if)#exit
    R1(config)#interface g0/1
    R1(config-if)#no shutdown
    R1(config-if)#ip address 10.31.2.2 255.255.255.0
    R1(config-if)#exit
    R1(config)#interface g0/0
    R1(config-if)#no shutdown
    R1(config-if)#ip address 10.31.3.1 255.255.255.0
    R1(config-if)#exit
    R1(config)#router ospf 10	
    R1(config-router)#router-id 10.31.1.252 
    R1(config-router)#network 10.31.1.252 0.0.0.0 area 0
    R1(config-router)#network 10.31.2.0 0.0.0.255 area 0
    R1(config-router)#network 10.31.3.0 0.0.0.255 area 0
    R3(config-router)#exit
    

    SW3-1:

    SW3-1(config)#ip routing
    SW3-1(config)#interface f0/24
    SW3-1(config-if)#no switchport
    SW3-1(config-if)#ip address 10.31.1.134 255.255.255.252
    SW3-1(config-if)#exit
    SW3-1(config)#router ospf 10
    SW3-1(config-router)#network 10.31.1.132 0.0.0.3 area 1
    SW3-1(config-router)#network 10.31.1.0 0.0.0.63 area 1
    SW3-1(config-router)#network 10.31.1.64 0.0.0.31 area 1
    SW3-1(config-router)#network 10.31.1.96 0.0.0.31 area 1
    SW3-1(config-router)#exit
    SW3-1(config-router)#
    

    SW3-2:

    SW3-2(config)#ip routing
    SW3-2(config)#interface f0/24
    SW3-2(config-if)#no switchport
    SW3-2(config-if)#ip address 10.31.1.134 255.255.255.252
    SW3-2(config-if)#exit
    SW3-2(config)#router ospf 10
    SW3-2(config-router)#network 10.31.1.132 0.0.0.3 area 1
    SW3-2(config-router)#network 10.31.1.0 0.0.0.63 area 1
    SW3-2(config-router)#network 10.31.1.64 0.0.0.31 area 1
    SW3-2(config-router)#network 10.31.1.96 0.0.0.31 area 1
    SW3-2(config-router)#exit
    SW3-2(config-router)#
    

    5、特殊区域配置

            题目要求,H网络接入到R2路由器上,使用OSPF动态路由协议,并配置为完全末梢区域,所以将area 1 区域设置为total stub(完全末梢区域)。

    R2

    R2(config)#router ospf 10	
    R2(config-router)#area 1 stub no-summary
    R2(config-router)#exit
    

    R3:

    R3(config)#router ospf 10	
    R3(config-router)#area 1 stub no-summary
    R3(config-router)#exit
    

    SW3-1:

    SW3-1(config)#router ospf 10	
    SW3-1(config-router)#area 1 stub no-summary
    SW3-1(config-router)#exit
    

    SW3-2:

    SW3-2(config)#router ospf 10	
    SW3-2(config-router)#area 1 stub no-summary
    SW3-2(config-router)#exit
    

    6、防环处理

            开启三层交换机和二层交换机的生成树协议,实现防环处理,防止网络风暴的发生。并通过设置根交换机的优先级,使SW3-1作为主根,SW3-2作为次根。

    SW3-1

    SW3-1(config)#spanning-tree vlan 10
    SW3-1(config)#spanning-tree vlan 20
    SW3-1(config)#spanning-tree vlan 30
    SW3-1(config)#spanning-tree vlan 10 priority 4096
    SW3-1(config)#spanning-tree vlan 20 priority 4096
    SW3-1(config)#spanning-tree vlan 30 priority 4096
    

    SW3-2

    SW3-2(config)#spanning-tree vlan 10
    SW3-2(config)#spanning-tree vlan 20
    SW3-2(config)#spanning-tree vlan 30
    SW3-2(config)#spanning-tree vlan 10 priority 8192
    SW3-2(config)#spanning-tree vlan 20 priority 8192
    SW3-2(config)#spanning-tree vlan 30 priority 8192
    

    7、DHCP地址池配置

            DHCP服务可以实现动态获取IP地址的功能,可以在三层交换机上搭建一个无中继DHCP服务,从而使三个部门动态获取IP地址。在R1上搭建一个无中继DHCP服务,从而使H主网的PC机实现动态获取IP地址。

    SW3-1

    SW3-1(config)#service dhcp
    SW3-1(config)#ip dhcp pool vlan10
    SW3-1(config-pool)#network 10.31.1.0 255.255.255.192
    SW3-1(config-pool)#dns-server 4.4.4.4
    SW3-1(config-pool)#default-router 10.31.1.62
    SW3-1config-)#ip dhcp excluded-address 10.31.1.62
    SW3-1(config)#ip dhcp pool vlan20
    SW3-1(config-pool)#network 10.31.1.64 255.255.255.224
    SW3-1(config-pool)#dns-server 4.4.4.4
    SW3-1(config-pool)#default-router 10.31.1.94
    SW3-1(config)#ip dhcp excluded-address 10.31.1.94
    SW3-1(config)#ip dhcp pool vlan30
    SW3-1(config-pool)#network 10.31.1.96 255.255.255.224
    SW3-1(config-pool)#dns-server 4.4.4.4
    SW3-1(config-pool)#default-router 10.31.1.126
    SW3-1(config)#ip dhcp excluded-address 10.31.1.126
    

    SW3-2

    SW3-2(config)#service dhcp
    SW3-2(config)#ip dhcp pool vlan10
    SW3-2(config-pool)#network 10.31.1.0 255.255.255.192
    SW3-2(config-pool)#dns-server 4.4.4.4
    SW3-2(config-pool)#default-router 10.31.1.62
    SW3-1(config-)#ip dhcp excluded-address 10.31.1.62
    SW3-2(config)#ip dhcp pool vlan20
    SW3-2(config-pool)#network 10.31.1.64 255.255.255.224
    SW3-2(config-pool)#dns-server 4.4.4.4
    SW3-2(config-pool)#default-router 10.31.1.94
    SW3-2(config)#ip dhcp excluded-address 10.31.1.94
    SW3-2(config)#ip dhcp pool vlan30
    SW3-2(config-pool)#network 10.31.1.96 255.255.255.224
    SW3-2(config-pool)#dns-server 4.4.4.4
    SW3-2(config-pool)#default-router 10.31.1.126
    SW3-2(config)#ip dhcp excluded-address 10.31.1.126
    

    R1

    R1(config)#service dhcp	
    R1(config)#ip dhcp pool hostdhcp
    R1(config-pool)#network 10.31.3.0 255.255.255.0
    R1(config-pool)#dns-server 4.4.4.4
    R1(config-pool)#default-router 10.31.3.1
    R1(config-pool)#ip dhcp excluded-address 10.31.3.1
    R1(config)#
    

    8、NET配置

            将公司主网与Area1区域连接的端口配置NAT设置,将与主网连接的端口设置为内网,与分公司相连的网络配置为外网。

    R3:

    R2(config)#interface range g0/1-2
    R2(config-if)#ip nat inside 
    R2(config-if)#exit
    R2(config)#interface range g0/0
    R2(config-if)#ip nat outside 
    R2(config-if)#exit
    

    9、FTP配置
            对ftp服务器做冗余保护,所以将FTP分别连接到SW3-1和SW3-2 的fastEthernet0/23端口,给SW3-1和SW3-2 的fastEthernet0/23端口配置IP地址,给FTP服务器的fastEthernet 0和fastEthernet 1接口配置IP地址。

    SW3-1

    SW3-1(config)#interface f0/23
    SW3-1(config-if)#no switchport
    SW3-1(config-if)#ip address 10.31.1.141 255.255.255.252
    SW3-1(config-if)#no shutdown
    SW3-1(config-if)#exit
    SW3-1(config-if)#router ospf 10
    SW3-1(config-router)#network 10.31.1.140 0.0.0.3 area 1
    SW3-1(config-router)#exit
    

    SW3-2:

    SW3-2(config)#interface f0/23
    SW3-2(config-if)#no switchport
    SW3-2(config-if)#ip address 10.31.1.145 255.255.255.252
    SW3-2(config-if)#no shutdown
    SW3-2(config-if)#exit
    SW3-2(config-if)#router ospf 10
    SW3-2(config-router)#network 10.31.1.144 0.0.0.3 area 1
    SW3-2(config-router)#exit
    

    10、ACL控制列表配置配置

            访问控制列表是路由器和交换机接口的指令列表,用来控制端口进出的数据包,ACL适用于所有的路由协议。配置ACL后,可以限制网络流量,允许特定设备访问,指定转发特定端口数据包等。通过配置访问控制列表可以实现只有技术部可以访问FTP服务的要求。且cisco模拟器中的控制列表默认拒绝访问,只需配置一条允许技术部访问的列表即可。

    SW3-1

    SW3-1(config)#access-list 1 permit 10.31.1.64 0.0.0.31
    SW3-1(config)#interface f0/23
    SW3-1(config-if)#ip access-group 1 out
    SW3-1(config-if)#exit
    

    SW3-2:

    SW3-2(config)#access-list 1 permit 10.31.1.64 0.0.0.31
    SW3-2(config)#interface f0/23
    SW3-2(config-if)#ip access-group 1 out
    SW3-2(config-if)#exit
    

    五、测试与验证:

    1、连通性验证(ping)

    (1)vlan间通信(不同部门间的通信)

     

    (2)访问总公司

    (3)链路聚合验证(show etherchannel summary)

    SW3-1:

    SW3-2:

    生成树验证(show spanning-tree)

    SW3-1: 

    vlan10:

    vlan20:

    vlan30:

    SW3-2:

    vlan10:

    vlan20:

    vlan30:

    访问控制列表验证(show ip access-list)

    SW3-1:

    FTP服务验证(ftp 10.31.1.142)

    技术部:

    其他部门:

    完全末梢区域(total stub)验证(show ip route)

    R3:

    SW3-1:

    SW3-2:

    DHCP动态获取IP地址验证

    工程部:

    技术部:

    行政部:

    六、任务分工:

            本实验所有过程为我个人独立完成。

    七、总结收获:

            通过综合实验,把数据通信中的知识点立即的更清楚了。明白了vlan划分、聚合链路、生成树、ACL、NAT等的作用,知道了vlan见通信的配置方式由单臂路由、三次交换机上的vlan通信等。

     

    展开全文
  • 企业开票信息税号查询API接口服务

    万次阅读 2018-06-27 20:26:11
    现在查询企业信息和税号的网站有天眼查、启信等,平台不多,但是用户的需求很大,那么有没有想法自己开发一个查询企业信息的网站呢?这样就能更加顺应自己企业的操作流程习惯了。不会写代码也没有关系,用友新推出...

    虽然国家开始实行了统一编号,但截至2020年,并不是所有企业的纳税人识别号都与统一社会信用代码相同,所以还是查出税号再开发票比较保险。

    现在查询企业信息和税号的网站有天眼查、启信网等,平台不多,但是用户的需求很大,那么有没有想法自己开发一个查询企业信息的网站呢?这样就能更加顺应自己企业的操作流程习惯了。不会写代码也没有关系,用友新推出的API服务可以帮忙。用友API Link_企业互联网API聚合平台上的“企业工商信息查询”服务和专门服务于企业开票的“企业开票税号查询”服务就提供了一个满足开发者需求的API接口。

    “企业注册工商信息查询”API接口能实现很多功能,其中就包括企业开票信息税号:1、根据关键字查询相关企业,或者根据企业信息的id查询企业的详细信息;2、可以查到企业的名称、联系方式、等基本信息;3、可以查到公司税号、法人信息、注册地址、工商注册号、统一信用代码、营业期限、经营范围等详细信息等。

    “企业开票税号查询”API接口功能更专一:1、根据关键字查询相关企业,或者根据企业信息的id查询企业的详细信息;2、可以查到企业的名称、联系方式等基本信息;3、可以查到公司纳税人识别号、注册地址等开发票需要的详细信息。

    根据企业日常的经营管理需求,可以任意选择这两种企业信息查询API接口。连接该服务后,即可得到查询企业以上信息的关键代码的接口。也就是说,要开发这样一个网站,关键的地方已经有人做好了,开发者只需要完善页面和其他功能即可。开发者不仅省下了大量的精力和人力,还将得到用友开发团队的技术支持。

    展开全文
  • 爬取企业信息-企业信用信息查询系统-天眼查爬虫

    万次阅读 多人点赞 2018-02-27 17:31:17
    如果不会用git可以在这里下载 代码和数据 注意,上面的项目可以爬取天眼查全部企业数据和 行业TOP100的企业信息,clone下来按wiki指导就能正常运行,由于会定时更新,保证可用。 其他想要商业数据可能要抱歉了,...

    时隔2年多,偶然看到自己的这篇文章,看到下面好多求数据的同学,实在抱歉,一方面之前数据已经丢失,一方面个人博客许久未关注,故没有及时答复。

    现在重新发送数据给各位同学,仅作学习使用,需要数据做美赛等数学建模的可以加Q群231436610。

    想要完整代码 具体看我的项目 https://gitee.com/yzlit/tianyancha 天眼查爬虫程序,如果你需要更多数据,请帮我在Github点个star就行,可以免费发送行业TOP100企业信息数据和超过3万条的企业数据。

    如果不会用git可以在这里下载 代码和数据

    注意,上面的项目可以爬取天眼查全部企业数据和 行业TOP100的企业信息,clone下来按wiki指导就能正常运行,由于会定时更新,保证可用。

    其他想要商业数据可能要抱歉了,一是数据量肯定达不到你们的要求,另一个本人只是给学习做数据分析的同学使用,。

    好,话不多说,直接上代码.

    爬取效果如图

    先看普通的请求代码,这里应该是爬虫都会用的通用模块,

    # -*- coding: utf-8 -*-
    import requests
    import time
    
    cursor = 0
    get_proxy_url = "http://这里是获取代理IP的网址,具体改refresh_proxy_ip()方法实现刷新代理IP"
    proxy_id = ""
    
    
    # 请求url的html内容
    def get_html(url):
        time.sleep(3)
        print(proxy_id)
        # 代理 IP ,具体刷新获取代理IP需要自己实现下面的refresh_proxy_ip() 函数
        proxy = {
            'http': 'http://'+proxy_id,
            'https': 'https://'+proxy_id
        }
        headers = {
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
            "Accept-Encoding": "gzip, deflate, br",
            "Accept-Language": "zh-CN,zh;q=0.9",
            "Cache-Control": "max-age=0",
            "Connection": "keep-alive",
            "Host": "www.tianyancha.com",
            "Sec-Fetch-Dest": "document",
            "Sec-Fetch-Mode": "navigate",
            "Sec-Fetch-Site": "none",
            "Sec-Fetch-User": "?1",
            "Upgrade-Insecure-Requests": "1",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"
        }
        try:
            # response = requests.get(url, headers=headers, proxies=proxy)
            response = requests.get(url,headers=headers, proxies=proxy)
        except BaseException:
            print("异常发生")
            # 这里没有对异常情况作具体处理,只是直接换代理IP 重新请求 就完事昂
            refresh_proxy_ip()
            return get_html(url)
    
        if response.status_code is not 200:
            print("不正常")
            refresh_proxy_ip()
            return get_html(url)
        else:
            return response.text
    
    
    def refresh_proxy_ip():
        global proxy_id
        time.sleep(1)
        proxy_id = requests.get(get_proxy_url).text.replace(" ", "")
        print('代理ip请求异常,更换代理IP:http://' + proxy_id + "/")
    

    然后才是对公司url的html内容进行解析,这个没有技巧,一个一个看html结构,有时候天眼查也会反爬做更新,需要及时修改,2020-09-06生效代码如下

    # -*- coding: utf-8 -*-
    from bs4 import BeautifulSoup
    from mysql import *
    from get_html import *
    
    
    def get_info(url):
        html = get_html(url, 1)
        soup = BeautifulSoup(html, 'html.parser')
        # print(html)
    
        # # 企业logo
        # logdiv = soup.find('div', class_="logo -w100")
        # imgsrc = ""
        # if logdiv is not None:
        #     img = logdiv.find('img', class_="img")
        #     if img is not None:
        #         imgsrc = img.get('data-src')
        #         # print(html)
        # else:
        #     print("此页查找不到公司log logo -w100:", url)
    
        # 企业简介
        div = soup.find('div', id="nav-main-stockNum")
        if div is None:
            print("此页查找不到公司内容nav-main-stockNum:", url)
            # print(html)
            # refresh_proxy_ip()
            # return get_info(url)
        else:
            table = div.find('table', class_="table -striped-col")
            if table is None:
                print("此页查找不到公司内容 table -striped-col:", url)
                # refresh_proxy_ip()
                # return get_info(url)
            else:
                tds = table.find_all('td')
                if len(tds) <= 31:
                    print("估计界面有问题:len(tds) <= 31", url)
                    return True
                compCh = tds[1].get_text()  # 公司全称
                compEn = tds[3].get_text()  # 英文名称
                sscym = tds[5].get_text()  # 上市曾用名
                gsdj = tds[7].get_text()  # 工商登记
                zczb = tds[9].get_text()  # 注册资本
                sshy = tds[11].get_text()  # 所属行业
                dsz = tds[13].get_text()  # 董事长
                dm = tds[15].get_text()  # 董秘
                fddbr = tds[17].get_text()  # 法定代表人
                zjl = tds[19].get_text()  # 总经理
                ygrs = tds[21].get_text()  # 员工人数
                glryrs = tds[23].get_text()  # 管理人员人数
                kggd = tds[25].get_text().replace(" ", "")  # 控股股东
                sjkzr = tds[27].get_text().replace(" ", "")  # 实际控制人
                zzkzr = tds[29].get_text().replace(" ", "")  # 最终控制人
                zyyw = tds[31].get_text().replace(" ", "")  # 主营业务'
                desc = (compCh, compEn, sscym, gsdj, zczb, sshy, dsz, dm, fddbr, zjl, ygrs, glryrs, kggd, sjkzr, zzkzr, zyyw, url)
                print(desc)
                update_company_qyjj(desc)
    
        # 证券信息
        div = soup.find('div', id="nav-main-secBasicInfoCount")
        if div is None or len(div) is 0:
            print("此页查找不到公司内容nav-main-secBasicInfoCount:", url)
            # print(html)
            # refresh_proxy_ip()
            # return get_info(url)
        else:
            table = div.find('table', class_="table -striped-col")
            if table is None or len(div) is 0:
                print("此页查找不到公司内容table -striped-col:", url)
                # print(html)
            else:
                tds2 = table.find_all('td')
                if len(tds) <= 13:
                    print("估计界面有问题:len(tds) <= 13", url)
                    return True
                agdm = tds2[1].get_text()  # A股代码
                agjc = tds2[3].get_text()  # A股简称
                bgdm = tds2[5].get_text()  # B股代码
                bgjc = tds2[7].get_text()  # B股简称
                hgdm = tds2[9].get_text()  # H股代码
                hgjc = tds2[11].get_text()  # H股简称
                zqlb = tds2[13].get_text()  # 证券类别
                sec_info = (agdm, agjc, bgdm, bgjc, hgdm, hgjc, zqlb, url)
                print(sec_info)
                update_company_zqxx(sec_info)
    
        # 联系信息
        div = soup.find('div', id="_container_corpContactInfo")
        if div is None or len(div) is 0:
            print("此页查找不到公司内容 _container_corpContactInfo:", url)
            # print(html)
            # refresh_proxy_ip()
            # return get_info(url)
        else:
            table = div.find('table', class_="table -striped-col -breakall")
            if table is None or len(table) is 0:
                print("此页查找不到公司内容 table -striped-col -breakall:", url)
                # print(html)
                # refresh_proxy_ip()
                # return get_info(url)
            else:
                tds = table.find_all('td')
                if len(tds) <= 15:
                    print("估计界面有问题:len(tds) <= 15", url)
                    return True
                lxdh = tds[1].get_text()  # 联系电话
                dzyx = tds[3].get_text().replace(" ", "")  # 电子邮箱
                cz = tds[5].get_text()  # 传真
                gswz = tds[7].get_text()  # 公司网址
                qy = tds[9].get_text()  # 区域
                yzbm = tds[11].get_text()  # 邮政编码
                bgdz = tds[13].get_text().replace(" ", "")  # 办公地址
                zcdz = tds[15].get_text().replace(" ", "")  # 注册地址
                contact_info = (lxdh, dzyx, cz, gswz, qy, yzbm, bgdz, zcdz, url)
                print(contact_info)
                update_company_lxxx(contact_info)
    
    
        # 公司背景
        div = soup.find('div', id="_container_baseInfo")
        if div is None:
            print("此页查找不到公司内容 _container_baseInfo:", url, "注意这个必须要查到哦哦哦哦哦哦哦!!!!!!!!!!!")
            # print(html)
            refresh_proxy_ip()
            return get_info(url)
        else:
            compChdiv  = soup.find('div', class_="header")
            if compChdiv is None:
                print("此页查找不到公司全称呼  class_=header:", url, "注意这个必须要查到哦哦哦哦哦哦哦!!!!但先不刷新IP!")
                compCh= ""
            else:
                compCh = compChdiv.find('h1', class_="name").get_text()
                print(compCh)
            frdiv=div.find('div', class_="humancompany")
            if frdiv is None:
                print("此页查找不到公司法人 humancompany:", url, "注意这个必须要查到哦哦哦哦哦哦哦!!!!!!!!!!!")
                # print(html)
                refresh_proxy_ip()
                return get_info(url)
            table = div.find('table', class_="table -striped-col -border-top-none -breakall")
            if table is None:
                print("此页查找不到公司内容 table -striped-col -border-top-none -breakall:", url, "注意这个必须要查到哦哦哦哦哦哦哦!!!!!!!!!!!")
                # print(html)
                refresh_proxy_ip()
                return get_info(url)
            else:
                tds = table.find_all('td')
                fddbrr = frdiv.find('a', class_="link-click").get_text()  # 法定代表人
                if len(tds) <= 40:
                    print("估计界面有问题:len(tds) <= 40", url)
                    exit(1)
                zczb1 = tds[1].get_text()  # 注册资本
                sjzb1 = tds[3].get_text()  # 实缴资本
                clrq1 = tds[6].get_text()  # 成立日期
                jyzt1 = tds[8].get_text()  # 经营状态
                tyshxxdm1 = tds[10].get_text()  # 统一社会信用代码
                gszc1 = tds[12].get_text()  # 工商注册号
                nsrsbh1 = tds[14].get_text()  # 纳税人识别号
                zzjgdm1 = tds[16].get_text()  # 组织机构代码
                gslx1 = tds[18].get_text().replace('\"', "")  # 公司类型
                hy1 = tds[20].get_text()  # 行业
                hzrq1 = tds[22].get_text()  # 核准日期
                djjg1 = tds[24].get_text()  # 登记机关
                yyqx1 = tds[26].get_text()  # 营业期限
                nsrzz1 = tds[28].get_text()  # 纳税人资质
                rygm1 = tds[30].get_text()  # 人员规模
                cbrs1 = tds[32].get_text()  # 参保人数
                cym1 = tds[34].get_text()   # 曾用名
                ywmc1 = tds[36].get_text()  # 英文名称
                zcdz1 = tds[38].get_text()  # 注册地址
                jyfw1 = tds[40].get_text()  # 经营范围  需要很大的空间 2000
                data = (compCh, fddbrr, zczb1, sjzb1, clrq1, jyzt1, tyshxxdm1, gszc1, nsrsbh1, zzjgdm1, gslx1, hy1, hzrq1, djjg1, yyqx1, nsrzz1, rygm1, cbrs1, cym1, ywmc1, zcdz1, jyfw1, True, url)
                print(data)
                update_company_qybj(data)
        return True
    
    

     

    代码注释已经打的比较详细,可以直接看。

    上面的代码对异常情况的处理并没有太细致,爬取结果还需要数据预处理,尤其是天眼查煞笔的数据加密,

    上面加密的数据有,注册资本,注册时间,营业期限,加密方法贼原始,

    我遇到的加密是,

    数字加密方式
    
    密文    明文
    
    7    4
    5    8
    4    .
    3    9
    0    1
    .    5
    9    2
    6    0
    1    3
    8    6
    2    7

    就这么简单,哈哈哈,发现这个时没笑死我。这个解码的操作较为简单,小伙伴自己去操练去吧。

    有人说,为啥不去爬国家企业信用信息公示系统,原因只有一个,我实在懒得去搞什么滑动验证码,文字点击验证码,看着就烦,(注定无法成为爬虫工程师)需要的伙伴可以看这位老兄的博客,他的说已经失效了,可以借鉴点经验,【爬虫】关于企业信用信息公示系统-加速乐最新反爬虫机制

    另外,如果有小伙伴实在不想自己爬数据的,只想要数据的,可以私信或者找我要,这次消息我都会收到,

    没错我还真的想过去买点数据应付一下建模,不过看到价格,基本就放弃了

     

    关于如何爬取天眼查90%企业爬虫思路:

    就是根据天眼查的条件不断细化,如下细化到行业—》行业子类—》—》—》区、县—》分页,基本数据量也5页左右100个公司左右,当然你也可以更细化

    如图上条件,已经剩6页,而天眼查不登录请款下只能看5页。

    首先是行业,行业有96个:url都是类似:https://www.tianyancha.com/search/oc06  也就是oc+两位数字。

    接下来是省:类似吉林省 jl:https://www.tianyancha.com/search/oc06?base=jl 
    接下来是市:吉林省四平市: https://www.tianyancha.com/search/oc06?base=siping
    接下来是区:吉林省四平市铁西区https://www.tianyancha.com/search/oc06?base=siping&areaCode=220302

    接下来是分页:比如第四页p4:https://www.tianyancha.com/search/oc01/p4?base=guangzhou&areaCode=440106

    接下来就是每一页的公司url:一般一页有20个公司:https://www.tianyancha.com/company/2782669177

    最后就是爬取每一个公司的信息并保存起来了:

    把上面每一步爬到先保存到数据库作为准备爬取的页面,即可:

    如我上面项目提到的main.py,以下方法你可以用多进程按省1:市区5:分页:25-》公司50来规划分布式机器爬虫。 当然你得够有钱,买得起这么多服务器和代理IP池。

    if __name__ == '__main__':
        # 一步 一步  爬取所有天眼查所有公司,极其变态
        # 把数据库表建好,然后跑这个程序,下面五个可以分五条线程 按先后顺序启动 即可
        get_city_to_mysql()     # 爬取行业-》省份  url
        get_qu_to_mysql()       # 爬取行业-》省份-》市  -》区  url
        get_page_to_mysql()     # 爬取行业-》省份-》市 -》区-》分页  url
        get_company_to_mysql()  # 爬取行业-》省份-》市 -》区-》分页->公司列表  url
        get_company_info_to_mysql()   # 爬取公司信息  url

     

    展开全文
  • 是一家整合企业黄页、分类信息以及时下流行的SNS社区三方面优势于一体定位于服务B2B平台的网站。主要帮助企业宣传推广公司品牌和产品,黄页88精细划分了82个大行业分类,并且在每个大的分类下又进行了二级和三级...

    黄页88网: 简称黄页网或者黄页88,是由互联网资深人士创办于2009年11月。是一家整合企业黄页、分类信息以及时下流行的SNS社区三方面优势于一体定位于服务B2B平台的网站。主要帮助企业宣传推广公司品牌和产品,黄页88网精细划分了82个大行业分类,并且在每个大的分类下又进行了二级和三级行业细分,更加方便网友对所关注信息的查询和浏览,同时对企业发布的信息进行了整合分类更加方便企业对信息的管理和搜索引擎的收录。

    官网: http://www.huangye88.com/
    贵州IT企业: http://b2b.huangye88.com/guizhou/it/

    时间: 2019/08/10

    爬取内容: 公司名称,公司详情,联系电话,地点,主营产品。

    操作环境: win10, python3.6, jupyter notebook,谷歌浏览器

    技术难点:

    • 该网页的数据不是每一个信息都全面,有很多缺少的内容,企业的信息中经常缺失电话,地址,介绍,主营产品四个信息。
    • 唯一不会缺的是企业的名称,但是其中广告的起始标签和企业的一样,而且三个企业就有一条广告,很容易误爬。
    • 信息缺少的地方,标签也会缺少

    1、请求网页源码

    import requests
    from lxml import etree
    url = 'http://b2b.huangye88.com/guizhou/it/'
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
    }
    res = requests.get(url,headers=headers)
    res.encoding = 'utf-8'
    html = etree.HTML(res.text)
    

    2、分析网页

    对于这个网页,不建议使用BeautifulSoup,因为广告和企业信息都在dl标签内,不方便定位节点。也不建议使用正则表达式,因为很多信息不全,标签的位置也不一样。
    在这里插入图片描述

    3、提取信息

    3.1、先定位企业信息所在的节点,右键Copy Xpath,在其中进行循环查找数据;
    for et in html.xpath('//*[@id="jubao"]/dl')
    
    3.2、每个企业一定有的信息是企业名称和详情链接,都在<h4> </h4>标签中,容易区分广告,可以用它来判断其他的信息;
        for et in html.xpath('//*[@id="jubao"]/dl'):
            k = k + 1
            name = et.xpath('./dt/h4/a/@title')#输出数组型
            href = et.xpath('./dt/h4/a/@href')
            if len(name)&len(href) !=0:
            	print (name[0],href[0])
    

    注意: xpath提取的数据是数组型,方便用len()判断它的长度,输出的结果可以用"[ ]"提取出来。

    3.3、其他数据容易跌的坑
    • 联系电话: 有部分企业没有,可以通过数组的长度来判断是否存在号码,没有号码就输出空;如果没有输出空的话,则会出现“[ ]”
                tel = et.xpath('./dt/span/a/text()')            
                tel = tel[0] if len(tel) !=0 else ""
    
    • 公司地址: 地址会出现两种情况,如果公司没有没有介绍,它就只有一对<dd></dd>标签,其他情况都是两个dd标签
                city = et.xpath('./dd[2]/span[1]/text()')
                if len(city) != 0:
                    city = city[0]
                else:
                    city = et.xpath('./dd/span[1]/text()')[0]
    
    • 主营产品: 这是难度最大的一个数据
      (1)如果公司缺少介绍,它就只有一个dd标签,可以通过第二个dd标签是否存在来判断它的个数
      (2)当第二个dd标签不存在的时候,需要注意两种情况,才能提取数组中的信息。
      (3)数组中的值分别为[0]、[1]、[2],但都是在最后一位,必须先判断数组work的长度才能取值。
                work = et.xpath('./dd[2]/text()')
                if len(work) !=0:
                    work = et.xpath('./dd[2]/text()')[len(work)-1]
                elif len(work) == 0:
                    work = et.xpath('./dd/text()')[len(work)-1]
                else:
                    work = et.xpath('./dd/text()')[1]
    

    4、源码代码汇总

    import requests
    from lxml import etree
    
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
    }
    for i in range(1,41):
        print ("正在爬取第"+str(i),"个页面")
        url = f'http://b2b.huangye88.com/guizhou/it/pn{i}/'
        res = requests.get(url,headers=headers)
        res.encoding = 'utf-8'
        html = etree.HTML(res.text)
        for et in html.xpath('//*[@id="jubao"]/dl'):
            name = et.xpath('./dt/h4/a/@title')
            href = et.xpath('./dt/h4/a/@href')
            if len(name)&len(href) !=0:        
                tel = et.xpath('./dt/span/a/text()')
                if len(tel) !=0:
                    tel = tel[0]
                txt = et.xpath('./dd[1]/text()')
                if len(txt) !=0:
                    txt = txt[0]
                city = et.xpath('./dd[2]/span[1]/text()')
                if len(city) != 0:
                    city = city[0]
                else:
                    city = et.xpath('./dd/span[1]/text()')[0]
                work = et.xpath('./dd[2]/text()')
                if len(work) !=0:
                    work = et.xpath('./dd[2]/text()')[len(work)-1]
                elif len(work) == 0:
                    work = et.xpath('./dd/text()')[2]
                else:
                    work = et.xpath('./dd/text()')[1]
                print (name[0],href[0],tel,txt,city,work,'\n')
    

    爬取部分截图:
    在这里插入图片描述
    表格部分截图:
    在这里插入图片描述
    备注: 如果乱码,可使用Excel表格,在数据>自文本>改Tab键为逗号>打开

    展开全文
  • IT运维服务分类目录 企业运维,至少包括如下几个大方面: 1,桌面运维(以windows为主,工资偏低,桌面运维经理可以达到8K到10K,很多人在公司里干的就是安装windows系统,windows里的QQ坏了重装下,砸个...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。 (1)Linux可以识别的文件系统 ◆ Windows 95/98常用的FAT 32文件系统:vfat ;...
  • 企业邮件服务器系统

    千人学习 2017-03-03 16:16:11
    让每个人都能熟练企业实战的Linux平台邮件系统。
  • 计算机网络谢希仁第七版 课后答案

    万次阅读 多人点赞 2019-09-03 23:13:25
    1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享 1-02 简述分组交换的要点。答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并 1-03 试从多个方面比较电路交换、报文交换和分组交换的...
  • ESB 企业服务总线基本内容概述

    千次阅读 热门讨论 2016-10-09 15:26:18
    ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。整个架构体系里面分为三个组件或子系统,...
  • 146.企业信息网 147.搜索引擎网站(网址站)系统 148.班级网站 149.网上鲜花店 150.在线订餐系统 151.校园二手拍卖网站 152.个人博客Blog建设 153.P二手车交易管理系统 154.专用信箱系统的实现 155.网络办公系统 156....
  • 大型企业网络架构

    万次阅读 多人点赞 2018-11-24 10:57:01
    可以看到,在大型企业网络架构中,有非常多的产品:交换机、路由器、防火墙、IDS、IPS、服务器等设备。 那么有很多人会问,有了防火墙为什么还要IPS和IDS呢? 防火墙较多的应用在内保护(NAT),流控,过滤等...
  • 几种ESB(企业服务总线)介绍

    万次阅读 2018-07-16 19:24:45
    ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。 企业服务总线ESB就是一种可以提供可靠的、有...
  • ESB 企业服务总线

    万次阅读 2013-08-24 10:36:41
    整理的OSChina 第 38 期高手问答 —— ESB 企业服务总线,嘉宾为@肖俊_David 。 @肖俊_David 恒拓开源架构师,热衷于JAVA开发,有多年的企业级开发经验。曾参和设计和开发基于FuseESB 企业服务总线系统,对...
  • 企业服务总线ESB是什么

    万次阅读 多人点赞 2018-01-17 18:25:14
    在探讨信息系统的SOA架构概念时,一个非常重要的概念是:企业服务总线(ESB)。可以说,企业服务总线也是SOA的核心构成部分。要真正实现应用架构完善的SOA结构,简化SOA构件间的关系,就一定要建设好信息系统的企业级...
  • WEB前端简历模板

    万次阅读 多人点赞 2019-10-15 17:15:36
    项目描述:雷锋是深圳英鹏信息技术有限公司于2011年创办,从起始的科技博客,逐步发展成一个科技信息与产品服务平台。雷锋拥有三大业务单元,深入移动互联网与智能硬件行业,为厂商及用户提供了涵盖媒体资讯、...
  • 实施工程师面试题(答案)

    万次阅读 多人点赞 2019-06-21 11:33:32
    随着市场的竞争进一步加剧,服务已经成为企业核心竞争力的要素之一,服务的重点是沟通,沟通可以消除客户的误会和不满,沟通可以提高客户的感知度。因此,我认为我们客户服务管理工作就应该从做好沟通的管理开始。 ...
  • 本来昨天就规划了今天的这篇文章,无奈昨天中午自己喝了... BGP和IGP的路由黑洞问题在描述企业骨干(大型企业的内网)之前,我得先来解释一下互联网路由的层次问题,理解了这个,你才能理解企业内网的构建规则,我还是
  • ESB-企业服务总线

    万次阅读 2017-05-18 13:53:08
    ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以...
  • 现代企业经营环境瞬息万变,如果不能实时、全面、精准的掌握与自身企业相关的客户、伙伴、竞争对手等企业信息,则面临着承担巨大潜在风险的同时,更可能丧失无可估量的商业机遇。很显然,信息化管理和数据营销已经...
  • 小型企业的网络拓扑结构设计

    万次阅读 多人点赞 2019-01-08 16:52:39
    企业局域网的最终目标是建设整个单位的互联、统一、高效、实用、安全的局域网络,近期可支持上百个,远期至少可支持上午个并发用户,提供广泛的资源共享(包括硬件、软件和信息资源共享)。网络结构清楚、布线合理、...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...
  • 首先介绍企业信息化的概念、目的、规划、方法,然后再介绍 ERP、CRM、PDM(Product Data Management,产品数据管理)、企业门户、EAI、SCM 等内容,最后介绍电子商务的类型和标准。 1 企业信息化概述  企业...
  • 企业微信标准应用服务商入门考试–2021》 一、 单选题 相关文档详情:更多详情 1、审批记录的保存期限 A. 半年 B. 一年 C. 五年 D. 永久保存 √ 2、企业标准应用服务商的合作层级可以分几个层级? A. 四个 B. 三个 ...
  • 可以监视和显示集群中的节点的各种状态信息,比如如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现。Ganglia监控软件主要是用来监控系统性能的软件,如:cpu 、...
  • 2016年中国的SaaS服务企业研究

    万次阅读 2016-08-30 20:28:38
    近年来,随着中国人口红利的消退及移动互联网红利的凸显,让中国的To C创业...美国和中国同样拥有3000万家需要信息服务的中小企业,但是美国的SaaS企业市值已突破1700亿美金,而中国只有35亿美金左右,因此中国SaaS企
  • 计算机网络谢希仁第七版课后习题答案

    万次阅读 多人点赞 2019-10-12 21:43:44
    1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享 1-02 简述分组交换的要点。答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并 1-03 试从多个方面比较电路交换、报文交换和分组交换的...
  • 笔者曾经参加ISG 比赛时有位导师的经典语录:信息安全管的是什么? 其实质管理的就是输入和... (如果你已经踏上管理岗位,其实会发现这句话在企业管理中也是适用的) 所以管住你的输入和输出,就能管住你的信息安全。
  • 中小企业信息化建设分析报告

    千次阅读 2016-10-29 22:47:35
    1 引言 21世纪是信息经济和知识经济的时代,...由此,信息化对这个世纪企业的生存和发展有着超乎寻常的意义。 有利于企业迎接加入WTO后的挑战,适应国际化竞争。加入WTO以后,企业将更直接地面对国际竞争的挑战,在全
  • 企业信息化与BI系统建设规划

    千次阅读 2014-04-10 10:50:37
    企业信息化是指“通过对信息技术的应用、开发和使用企业的信息资源,提高管理水平、开发能力、经营水平的过程”。它的最终目的是利用信息化手段提高企业的竞争能力、创新能力和可持续发展的能力。通常,企业信息化...
  • 红帽Linux系统企业内部实训

    万人学习 2016-04-28 23:20:55
    本课程基于红帽企业版Linux即RHEL(RHEL是Red Hat Enterprise Linux的缩写),在课程中讲解了RHEL的安装、基础网络命令、网卡设置、文件与目录管理、进程与线程管理、VI编辑器、用户与权限、软件包管理、如何地在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 451,026
精华内容 180,410
关键字:

企业信息服务网