爬取企查查,获取企业基本数据
一、代码
import random from bs4 import BeautifulSoup import requests import pandas as pd import os import time # 获取cookies def get_cookies(): headers = { "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", } url = "https://www.qcc.com" res = requests.get(url=url,headers=headers) return res.cookies cookies=get_cookies() # 有些大企业的基础信息不在首页,需要二次请求 def get_cbase(id): url="https://www.qcc.com/cbase/"+id headers = { "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", # 'X-Forwarded-For': get_ip() } res=requests.get(url,headers=headers,cookies=cookies) soup = BeautifulSoup(res.text, 'lxml') table = soup.find_all('table')[0] df = pd.read_html(str(table))[0] return df def get_company_df(company): company=company.replace("(","(").replace(")",")") headers = { "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36", } url = "https://www.qcc.com/web/search" params = { "key": company, } res = requests.get(url=url, params=params, headers=headers,cookies=cookies) soup = BeautifulSoup(res.text, 'lxml') maininfo = soup.find_all(attrs={"class": "maininfo"}) if maininfo: em_list=maininfo[0].find_all("a")[0].find_all("span")[0].find_all("em") company_name="" for em in em_list: company_name+=em.text # 获取搜索到的企业名称 if company_name==company: # 判断是否为需要查询的企业名称 print("ok") href = maininfo[0].find_all("a")[0].attrs.get('href') print(href) res = requests.get(url=href, headers=headers,timeout=60) # print(res.text) soup = BeautifulSoup(res.text, 'lxml') table = soup.find_all('table')[0] df = pd.read_html(str(table))[0] if len(df)<5: return get_cbase(href.strip(".html").split("/")[-1]) return df
二、效果
# 注意访问频率,就可避免封ip跳验证码 res=get_company_df("中信银行股份有限公司") print(res.to_dict()) {0: {0: '统一社会信用代码', 1: '法定代表人', 2: '注册资本', 3: '组织机构代码', 4: '企业类型', 5: '所属行业', 6: '人员规模', 7: '英文名', 8: '注册地址', 9: '经营范围'}, 1: {0: '91110000101690725E', 1: '李庆萍 关联7家企业 >', 2: '4893479.6573万元人民币', 3: '10169072-5', 4: '其他股份有限公司(上市)', 5: '货币金融服务', 6: '4000-4999人', 7: 'China Citic Bank Corporation Limited', 8: '北京市朝阳区光华路10号院1号楼6-30层、32-42层 查看地图 附近企业', 9: '保险兼业代理业务;吸收公众存款;发放短期、中期和长期贷款;办理国内外结算;办理票据承兑与贴现;发行金融债券;代理发行、代理兑付、承销政府债券;买卖政府债券、金融债券;从事同业拆借;买卖、代理买卖外汇;从事银行卡业务;提供信用证服务及担保;代理收付款项;提供保管箱服务;结汇、售汇业务;代理开放式基金业务;办理黄金业务;黄金进出口;开展证券投资基金、企业年金基金、保险资金、合格境外机构投资者托管业务;经国务院银行业监督管理机构批准的其他业务。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)'}, 2: {0: '企业名称', 1: '登记状态', 2: '实缴资本', 3: '工商注册号', 4: '营业期限', 5: '所属地区', 6: '参保人数', 7: 'China Citic Bank Corporation Limited', 8: '北京市朝阳区光华路10号院1号楼6-30层、32-42层 查看地图 附近企业', 9: '保险兼业代理业务;吸收公众存款;发放短期、中期和长期贷款;办理国内外结算;办理票据承兑与贴现;发行金融债券;代理发行、代理兑付、承销政府债券;买卖政府债券、金融债券;从事同业拆借;买卖、代理买卖外汇;从事银行卡业务;提供信用证服务及担保;代理收付款项;提供保管箱服务;结汇、售汇业务;代理开放式基金业务;办理黄金业务;黄金进出口;开展证券投资基金、企业年金基金、保险资金、合格境外机构投资者托管业务;经国务院银行业监督管理机构批准的其他业务。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)'}, 3: {0: '中信银行股份有限公司', 1: '存续(在营、开业、在册)', 2: '4678732.7034万元人民币', 3: '100000000006002', 4: '1987-04-20 至 无固定期限', 5: '北京市', 6: '4576', 7: 'China Citic Bank Corporation Limited', 8: '北京市朝阳区光华路10号院1号楼6-30层、32-42层 查看地图 附近企业', 9: '保险兼业代理业务;吸收公众存款;发放短期、中期和长期贷款;办理国内外结算;办理票据承兑与贴现;发行金融债券;代理发行、代理兑付、承销政府债券;买卖政府债券、金融债券;从事同业拆借;买卖、代理买卖外汇;从事银行卡业务;提供信用证服务及担保;代理收付款项;提供保管箱服务;结汇、售汇业务;代理开放式基金业务;办理黄金业务;黄金进出口;开展证券投资基金、企业年金基金、保险资金、合格境外机构投资者托管业务;经国务院银行业监督管理机构批准的其他业务。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)'}, 4: {0: '中信银行股份有限公司', 1: '成立日期', 2: '核准日期', 3: '纳税人识别号', 4: '纳税人资质', 5: '登记机关', 6: '曾用名', 7: '进出口企业代码', 8: '北京市朝阳区光华路10号院1号楼6-30层、32-42层 查看地图 附近企业', 9: '保险兼业代理业务;吸收公众存款;发放短期、中期和长期贷款;办理国内外结算;办理票据承兑与贴现;发行金融债券;代理发行、代理兑付、承销政府债券;买卖政府债券、金融债券;从事同业拆借;买卖、代理买卖外汇;从事银行卡业务;提供信用证服务及担保;代理收付款项;提供保管箱服务;结汇、售汇业务;代理开放式基金业务;办理黄金业务;黄金进出口;开展证券投资基金、企业年金基金、保险资金、合格境外机构投资者托管业务;经国务院银行业监督管理机构批准的其他业务。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)'}, 5: {0: '中信银行股份有限公司', 1: '1987-04-20', 2: '2021-01-13', 3: '91110000101690725E', 4: '一般纳税人', 5: '北京市市场监督管理局', 6: '-', 7: '1100101690725', 8: '北京市朝阳区光华路10号院1号楼6-30层、32-42层 查看地图 附近企业', 9: '保险兼业代理业务;吸收公众存款;发放短期、中期和长期贷款;办理国内外结算;办理票据承兑与贴现;发行金融债券;代理发行、代理兑付、承销政府债券;买卖政府债券、金融债券;从事同业拆借;买卖、代理买卖外汇;从事银行卡业务;提供信用证服务及担保;代理收付款项;提供保管箱服务;结汇、售汇业务;代理开放式基金业务;办理黄金业务;黄金进出口;开展证券投资基金、企业年金基金、保险资金、合格境外机构投资者托管业务;经国务院银行业监督管理机构批准的其他业务。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)'}, 6: {0: nan, 1: nan, 2: nan, 3: nan, 4: nan, 5: nan, 6: nan, 7: nan, 8: '北京市朝阳区光华路10号院1号楼6-30层、32-42层 查看地图 附近企业', 9: '保险兼业代理业务;吸收公众存款;发放短期、中期和长期贷款;办理国内外结算;办理票据承兑与贴现;发行金融债券;代理发行、代理兑付、承销政府债券;买卖政府债券、金融债券;从事同业拆借;买卖、代理买卖外汇;从事银行卡业务;提供信用证服务及担保;代理收付款项;提供保管箱服务;结汇、售汇业务;代理开放式基金业务;办理黄金业务;黄金进出口;开展证券投资基金、企业年金基金、保险资金、合格境外机构投资者托管业务;经国务院银行业监督管理机构批准的其他业务。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)'}}