天眼数据抓取项目

天眼数据抓取项目

本项目抓取数据为 公司高管信息以及公司违规处理历史记录

项目简介

  • 项目说明 :
    1. 抓取数据:破解登录的滑动验证码和机器人检测 - (机器人检测 还未破解)
    2. 数据模型转换 爬取的数据字典 转为 数据库映射类的模型
    3. 入库 存入数据库
  • 项目数据库 : mysql,当然也可以是其他数据库,只需要更改其config.py 文件中的相关配置。
  • 项目源文件介绍:
    • main.py - 项目入口文件
    • models.py - 数据库实体
    • db_helper.py - 数据库操作根
    • file_helper.py - 文件操作
    • config.py - 项目配置
    • geetest2包 - 来自于github 开源项目 破解天眼的滑动验证码
    • spider.py - 爬虫程序
    • viewmodel.py - 继承自db_helper的BaseModel 根
  • 项目运行产生的文件介绍:
    • senior_people.csv - 公司高管信息(包含所有维度)
    • illegals_data.csv - 公司违规信息(所有维度)

一、数据库设计

1. 数据库表及字段详解


company(公司表)
字段名称字段类型字段属性字段注解
company_idvarchar(20)主键公司id
company_namevarchar(50)公司名称
mod_timedatetime默认值 写入时间修改时间
company_person(公司人员表)
字段名称字段类型字段属性字段注解
idvarchar(20)主键id
namevarchar(5)姓名
ageint年龄
sexvarchar(1)性别
eduactionvarchar(5)学历
resumetext个人简介
mod_timedatetime修改时间
executive_group(高管分组表)
字段名称字段类型字段属性字段注解
group_idint主键分组id
group_namevarchar(5)分组名称-(董事会,监事会,高管)
company_executive(高管表)
字段名称字段类型字段属性字段注解
idint主键,自增主键id
company_idvarchar(20)外键公司id
group_idint外键分组id
person_idvarchar(20)外键人员id
positionvarchar(50)职称描述
start_datedate任职开始日期
end_datedate任职结束日期
report_datedate公告日期
mod_timedatetime默认值-写入时间修改时间
salary_table(薪酬表)
字段名称字段类型字段属性字段注解
idint主键,自增主键id
company_idvarchar(20)外键公司id
person_idvarchar(20)外键人员id
moneyvarchar(10)薪资金额
number_of_shares_with_unitvarchar(10)
mod_timedatetime默认值-写入时间修改时间
company_illegals(公司违规处理表)
字段名称字段类型字段属性字段注解
idint主键,自增主键id
company_idvarchar(20)外键违规公司id
disposervarchar(50)外键处理机构
default_typevarchar(10)违规类型
illegal_act_withlinktext违规详情
punish_typevarchar(10)处理类型-(惩罚类型)
punish_explain_withlinktext处理详情
punish_objectvarchar(20)被处理对象
announcement_datedate公告日期
currency_unitvarchar(10)涉及金额
mod_timedatetime默认值-(写入时间)修改时间

2. 数据库E-R图

二、数据抓取

1. 登录 获取cookie

2. 搜索(普通用户只能够访问前5页数据)

  • 接口: https://www.tianyancha.com/search/p{}/key='company_name'

3. 获取公开的董监高数据

  • 接口 : https://www.tianyancha.com/pagination/seniorPeople.xhtml

4. 获取公司违规信息

  • 接口:https://www.tianyancha.com/pagination/corpIllegals.xhtml

    违规信息太少了 根据上面的董监高接口猜出来的

三、相关截图

1. 运行截图

2. csv文件截图

3. 数据库截图

四、数据呈现

由于时间问题,这块内容未实现,下面只是一些想法

  1. 数据展示 : 用现在的数据可视化技术(python 数据分析)(js echart.js 图表库)比如可以做一个 公司高管薪资水平图表
  2. 数据挖掘 :处理分析公司的违规信息,做简单的公司风险预测(还没有尝试过)

五、免责声明

本项目仅仅只用与面试(某面试)若用于其他用途,请自行承担相关责任!!

六、源码分享:

源码链接:github

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值