给定公司名称excel列表在天眼查搜索爬取企业工商信息

上传人:re****.1 文档编号:495453482 上传时间:2022-08-31 格式:DOC 页数:11 大小:28KB
返回 下载 相关 举报
给定公司名称excel列表在天眼查搜索爬取企业工商信息_第1页
第1页 / 共11页
给定公司名称excel列表在天眼查搜索爬取企业工商信息_第2页
第2页 / 共11页
给定公司名称excel列表在天眼查搜索爬取企业工商信息_第3页
第3页 / 共11页
给定公司名称excel列表在天眼查搜索爬取企业工商信息_第4页
第4页 / 共11页
给定公司名称excel列表在天眼查搜索爬取企业工商信息_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《给定公司名称excel列表在天眼查搜索爬取企业工商信息》由会员分享,可在线阅读,更多相关《给定公司名称excel列表在天眼查搜索爬取企业工商信息(11页珍藏版)》请在金锄头文库上搜索。

1、给定公司名称xel列表,在天眼查搜索爬取公司工商信息 上一篇写了天眼查公司详情页单页面爬取公司基本信息(简朴爬取天眼查数据),这里改善一步。需求提供公司名称,需要获取公司工商注册信息,欲查找的公司名称存储在exce里。环节分解1.读取exel数据(1)打动工作簿importxlrdde openexcel(file):try: bk lrd.opn_wokb(file)rtrn booeept Ecetn s:print (打动工作簿+fie出错:+str()(2)读取工作簿中所有工作表def read_sheet(fie):ry:oo =pen_exel(ie) shets book.she

2、et()retun shetsexept Exction s e:prit (读取工作表出错:+str(e))(3)读取某一工作表中数据某一列的数据de rad_data(shet, n=): dataetor r inne(heet.rws): col = shetce(r, n).vale taet.apend(col)reu aas.打开浏览器由于是采用seleum+浏览器,一方面先打开浏览器(可用火狐、gogle等浏览器,只要配备好环境),这里采用了phans这个无头浏览器,并使用了sagent代理。此外,ervice_gs参数可调用ip代理。from seleniumimpor we

3、riverfrom mon.desirdcabilties importesidCapabitiedef rop(): dap = dict(DeiredCaili.PHANTOMJS) dapphantomjs.page.sttgs.userget = (Mol5.(WndowsNT .;OW64) pplWebKit/53736 (KHTML, ikeGeco) Chrome52.2743.82 Safai/537.36 ) srvic_arg -proxy1.22179.178:8,-ry-tyehttp ope_drivr wervrPhantoS(ecutable_pat=D:/An

4、conda2/hatomjs.xe,desi_cailiiescap# ,svcarg=sevicargs ip代理)rturn pen_dver3.获取网页源代码根据提供的url和等待加载时间,返回网页源码的Beuiuloup对象。欲获取源代码的网页u有两种类型,一种是搜索成果页面的url,一种是公司详情页的ul。根据分析,公司详情页的url末尾是一串数字,表达公司的id,这个d是要保存下来,作为唯一辨认码,因此增长一步判断,判断r与否为公司详情页的l(最后一种背面全是数字), 如果是,同步返回公司的d。impot timerobs4import Beautfulpde gt_cnet(rl

5、, waitng=): ope_driver =diveroen() open_diver.et(url) 等待waitin秒,使js加载,时间可延长time.slep(witng)#获取网页内容 ent =penriver.age_ource.enod(f8)pri cntenop_drive.close() re_soup =BeautifulSoup(cont, xm) comid = url.sit(/)-1if om_.isdgt():reur res_su,cm_ids:rern rssop.根据搜索词搜索如果输入的公司名,能查到完全相应的公司名(也许是曾用名),则返回其url地址

6、,如果不存在,则返回空。iport rllibdef earh(keynae):ey ullbuoe(knam) echurl = + ke &chkFrom=sarchB prnt seach_ur sou = get_conten(searhurl)# prit re_soup# 解析搜索成果的第一种记录 ifnae ressopselet(isearchresultsingle di.w v span)nme = ifnametxt if en(ifnme) ls on fcy= rs_sou.fin_all(at=ng-indhtml: n.isorames) cm=fcm0xtife

7、n(ifm) lsnefame = knme or m =kename: compny_ul = res_soup.slct(ivearch_rsultsinl di.row iv a )0.gt(ef)rturn comny_urlels:#pint 不存在该公司retun5.公司详情页数据获取并存储(1)在数据库中建表一方面分析要获取哪些数据,并设计好表,我这里共波及3张表(采用mysql)。其一,基本信息CREATE TABLE iannch_qyc(iint(11) NOT NULLAUTONCREMT,xh varhar(0) EFAUL NULLcmmnt t+天眼查上公司id,q

8、ymc varca(0) DEAULNULL comment 公司名称,qzch ahar(2) EFULT NL commet 工商注册号,fdbr varchr(50) DFAL NUL mmnt 法定代表人,qylx varchar(0) DEFAUL NULLcomment 公司类型,zt achar(20) DFAU ULL comment 状态,zczbvrhar(50) DEAULT NU cmment 注册资本,zs varar(10) DEFAULTNLLcomet注册地址,jy vaar(1000) EFAULT NULL cmmn 经营范畴,gxdw car(0) EAU

9、LT NULomnt 登记机构,xksrqaha() FAULT NULL oen 营业开始时间,xjqvarchar(20)DEFLT NLL omment 营业结束时间,srq vchr(0) EAULTNULL men 注册日期, vacar(0) DEAUL NULL cmmnt 行业,zzjg varchar(0)DEFUT ULL coment 组织机构代码,hzq varchr(2) DEULT NUL cment 核准日期,tyshxydm varcha(2) DEAULT NUL ommn 统一社会信用代码,cymarchr(50) DEFAULTNUL comnt 曾用名,

10、rksimestmp NOT NUL DEAULTCURRENTTISTAcmment 获取时间, MRY K(i) ENGIN=MyIAM DEFAU CA=uf8;其二,高管信息CREAETABtianyana_gg (id it(11)NONULL A_INREMET,bh achar(20) DFT NULLcoen t+天眼查上公司id,xm varhar(20) FAULTNUL omment姓名,z achar(30) DEFUT Ncomment 职务,rks tmestmp NO NULL DELT CURRENT_TMETAPmment 获取时间, RIMRY KY (id

11、))ENIN=MyISA EFULT CHAET=uf8;其三,投资信息(涉及股东和对外投资)CRETE ABLE ianyanh_tz (id int(11) OT NUL AUTOICRE,nb var(20) EALT NLLoment+天眼查上投资方公司,如果股东为自然人,则为空,m varcar(50) DEFUL ULL comment姓名公司名称,btzfnxharchar(2)DEFAULT NULL ment t+天眼查上被投资公司i,rsj tmestamp NOT NUL DEFULT CURRN_TIMEA coet 获取时间, PRIMARY KEY(id) EGIN

12、yIAM DEULT HARSE=utf8;(2)连接ysql数据库,写插入数据函数impot MySLdconn MySQLd.connct(hst=loahost,po=3306,btest, user=root,pssw=admn23,carset=utf)de iset_dat(sql,atas): cursr = con.ursr() rso.xece(sql, datas)cursor.lose() i()(3)获取基本信息,并插入数据库表“tinna_jc”根据提供的网页源码BeautifulSp对象和公司d,返回基本信息。def get_bs_nfo(res_sou, c_id): coman = rs_soup.selec(vcoan_inftxp.g-bndng)0txt.replae(, ).elac( ,) cym=company.spl(曾用名:)-1 i 曾用名:incompny ls None q = cmpanspli(曾用名:)0 # 公司名称 fddbr = es_upselct(.td-legalPesonNae-le a)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号