美文网首页散文读书想法
爬虫——天眼查数据抓取

爬虫——天眼查数据抓取

作者: 猛犸象和剑齿虎 | 来源:发表于2022-08-26 10:24 被阅读0次

    天眼查数据抓取的难点在于解析网页,如果直接在网页端通过F12分析网页,发现一些信息还是比较难以获取的,那么比较简单的方式是,将响应的网页信息复制出来,再通过正则表达式,将匹配的信息拿出来就会相对来说比较精准。

    image.png
    image.png
    import requests
    import re
    import openpyxl
    '''
    作者:阿杰就是我
    时间:2022-8-26
    爬虫思路:从excel读取的企业信息拼接成完整的url,传入天眼查网页并获取响应,将响应的信息复制出来进行分析,
    通过正则表达式将解析的数据重新传回excel,对异常信息通过try..exception跳过。
    '''
    
    
    header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)\
     Chrome/86.0.4240.198 Safari/537.36"}
    # 工作表公司名读取
    wb=openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\企业数据抓取工具.xlsm',keep_vba=True)
    sheet=wb["公司名"]
    sheet2=wb["数据抓取"]
    k=0
    #先清空内容再写入防止之前的数据产生混乱
    for row in sheet2.iter_rows():
        for cell in row:
            cell.value=None
    
    #标题写入
    sheet2.cell(1,1).value="搜索公司"
    sheet2.cell(1,2).value="匹配公司"
    sheet2.cell(1,3).value="法人"
    sheet2.cell(1,4).value="成立日期"
    sheet2.cell(1,5).value="注册资本"
    sheet2.cell(1,6).value="工商注册号"
    sheet2.cell(1,7).value="组织代码"
    sheet2.cell(1,8).value="纳税人识别号"
    sheet2.cell(1,9).value="地址"
    sheet2.cell(1,10).value="电话"
    sheet2.cell(1,11).value="经营范围"
    
    #构造URL,传入网页获取相应信息后,用正则表达式读取信息
    for i in range(2,sheet.max_row+1):
        wd=sheet.cell(i,1).value
        print(wd)
        url="https://www.tianyancha.com/search?key="+wd
        response=requests.get(url,headers=header).text
    
        pat0=r'"companyList":.*?,"name":"\\u003cem\\u003e(.*?)\\u003c\/em\\u003e"'
        pat1=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"legalPersonName":"(.*?)"'
        pat2=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?estiblishTime":"(.*?)"'
        pat3=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"regCapital":"(.*?)"'
        pat4=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"regNumber":"(.*?)"'
        pat5=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"orgNumber":"(.*?)"'
        pat6=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"creditCode":"(.*?)"'
        pat7=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"businessScope":"(.*?)"'
        pat8=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"regLocation":"(.*?)"'
        pat9=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"phoneInfoList":\[\{"number":"(.*?)"'
        pat10=r'"companyList":.*?,"name":"\\u003cem\\u003e.*?\\u003c\/em\\u003e".*?"emails":"(.*?)"'
        gongsi=re.findall(pat0,response)#公司名称
        faren=re.findall(pat1,response)#法人
        chengliriqi =re.findall(pat2,response)#成立日期
        zhuceziben=re.findall(pat3,response)#注册资本
        gongshangzhuce=re.findall(pat4,response)#工商注册号
        zuzhidaima=re.findall(pat5,response)#组织结构代码
        nashuishibie=re.findall(pat6,response)#纳税人识别号
        yewufanwei=re.findall(pat7,response)#经营范围
        dizhi=re.findall(pat8,response)#地址
        dianhua=re.findall(pat9,response)#电话号码
    
        print(gongsi+dianhua)
        #将读取的信息写入EXCEL中
        for j in range(0,len(gongsi)):
    
            k=k+1
            print("正在写入数据")
            try:
                sheet2.cell(k + 1, 1).value = wd
                sheet2.cell(k+1,2).value = gongsi[j]
                sheet2.cell(k+1, 3).value = faren[j]
                sheet2.cell(k+1, 4).value = chengliriqi[j]
                sheet2.cell(k+1, 5).value = zhuceziben[j]
                sheet2.cell(k+1, 6).value = gongshangzhuce[j]
                sheet2.cell(k+1, 7).value = zuzhidaima[j]
                sheet2.cell(k+1, 8).value = nashuishibie[j]
                sheet2.cell(k+1, 11).value = yewufanwei[j]
                sheet2.cell(k + 1, 10).value = dianhua[j]
                sheet2.cell(k+1, 9).value = dizhi[j]
            except Exception as e:
                print(e)
    
    wb.save(r"C:\Users\Administrator\Desktop\企业数据抓取工具.xlsm")
    

    相关文章

      网友评论

        本文标题:爬虫——天眼查数据抓取

        本文链接:https://www.haomeiwen.com/subject/rostnrtx.html