2021年3月3日更新,请去GitHub下载最新代码。
把之前的爬虫重写了一份,也算是实现了flag。这次的代码也可以从Github下载了,当然,这里也有备份。
raw_data.zip
为 2020年3月12日
下载好的数据。
简介
信息来自中国注册会计师行业信息管理系统,由 Python
的 Scrapy
框架编写。
Requirements
- Python3
- MongoDB
- Scrapy
- re module
- pymongo module
爬取的信息为 json
格式,存储在 MongoDB
中,默认存储在 Auditors
的4个数据库中:
- audit_firm
- nwp_info
- cpa_info
- cpa_profile
可以在 Pipeline.py
中自定义存储方式和存储位置。
数据样式
audit_firm:
{
'主任会计师': '耿云明',
'从业人员人数': '21',
'从业人员人数(含分所)': '21',
'会计师事务所名称': '北京中之光会计师事务所有限责任公司',
'传真': '010-83131728',
'出资额或注册资本(万元)': '100.0',
'分所数量': '0',
'办公地址': '北京市海淀区北四环西路67号中关村创业大厦904室',
'加入国际网络': '无',
'博士研究生人数': '0',
'参与公益活动': '无',
'合伙人或股东人数': '4',
'境外分支机构': '无',
'处罚/惩戒信息(披露时限:自2017年至今)': '无',
'大专及以下人数': '5',
'大于70岁人数': '5',
'小于等于40岁人数': '1',
'小于等于60岁且大于40岁人数': '6',
'小于等于70岁且大于60岁人数': '2',
'批准设立文件号': '京财协(1996)1989号',
'批准设立时间': '1996-11-18',
'批准设立机关': '北京市财政局',
'是否具有内部培训资格': '否',
'本科人数': '8',
'法定代表人(或执行合伙人)': '耿云明',
'注册会计师人数': '14',
'注册会计师人数(含分所)': '14',
'电子邮箱': '[email protected]',
'硕士研究生人数': '1',
'组织形式(有限/合伙)': '有限责任',
'继续教育完成率(上一年度)': '85.71%',
'网址': '无',
'联系人': '耿云明',
'联系电话': '13910222743',
'被检查信息': '请点击',
'证书编号': '11000001',
'通讯地址': '北京市海淀区北四环西路67号中关村创业大厦904室',
'邮政编码': '100053'
}
nwp_info:
{
'姓名': '郑天一',
'序号': '20',
'性别': '女',
'所在事务所': '北京中之光会计师事务所有限责任公司(从业人员)',
'是否党员': '否',
'是否参加社保': '否',
'是否签合同': '是',
'进所时间': '2007-01-01'
}
cpa_info:
{
'人员编号': '110000342374',
'全科合格证号(或者考核批准文号)': '鲁财会字〔1993〕第79号',
'出生日期': '1948-01-07',
'姓名': '刘家友',
'序号': '4',
'性别': '男',
'所在事务所': '北京中仁信会计师事务所(注册会计师)'
}
cpa_profile:
{
'全科合格年份': '1997',
'全科合格证书号': 'A97070060',
'参加公益活动': '无',
'处罚/惩戒信息': '无',
'姓名': '李朝霞',
'学位': '其它',
'学历': '硕士',
'性别': '女',
'所内职务': '无',
'所在事务所': '北京驰创会计师事务所有限责任公司',
'所学专业': '矿产普查勘察',
'批准注册文件号': '京会协(2000)093号',
'批准注册时间': '2000-12-15',
'是否党员': '否',
'是否合伙人(股东)': '是',
'本年度已完成学时': '0',
'本年度应完成学时': '40',
'毕业学校': '中国地质大学',
'注册会计师证书编号': '110001332698',
'资格取得方式(考试/考核)': '考试'
}
使用方法
使用命令行工具 cd 到项目目录,输入:
scrapy crawl cpa
也可以输出log到指定文件:
scrapy crawl cpa -s LOG_FILE=cpa_crawler.log
如果不想通过命令行工具执行地话,可以直接运行 start.py
,也可以在 start.py
中添加 -s LOG_FILE=cpa_crawler.log
来输出log到指定文件。
默认的下载延迟设置为1s
,由于爬取的网页很多,所以比较慢,如果时间比较赶的话,可以视情况调低下载延迟,或者直接取消。在 settings.py
找到下面这行:
DOWNLOAD_DELAY = 1
直接注释掉。
注:
item
的fields
在实际爬取的时候动态生成,所以写在了spider
中,item.py
只是继承了几个子类。- 我写这个爬虫的时候,会计师事务所列表一共只有
631
页,如果页数有变化的话,请找到cpa.py
的38
行:
for page in range(1, 632):
把 632
修改成当前的总页数 +1
, 总页数在可以在 “会计师事务所信息查询”
中获取。
Comments | 3 条评论
博主 钱达
今天看到你的分享简直太激动了。。我也迫于某些原因需要这个中注协的数据。真的是学到很多很多。会长期关注您的,谢谢分享。这里博客是不是不能点赞(我没找到),那我应该会按赞按到爆!
博主 钱达
我觉得现在爬的难度增加了。中注协现在查询注册会计师信息除了名字还要选择注协!
博主 2649340180
@钱达 遍历一遍