科创板申报企业信息爬取入库(webdriver+xpath+pymysql)

  1. 目标
    科创板开板以来,申报企业数量不断增加,目前已逾150家,拟通过爬虫获取所有申报企业的基本信息,例如审核状态、省份、行业、保荐机构、律师事务所、会计师事务所、保荐人、签字会计师、签字律师等信息。
  2. 网站分析
    打开http://kcb.sse.com.cn/renewal/ 进入上交所科创板股票发行上市审核项目动态页面,可以看到页面已有比较清晰格式化的信息展示,包括全称、审核状态、行业、保荐机构、律师事务所、会计师事务所、更新日期、受理日期等信息。在这里插入图片描述
    翻页页面url不变,右键网页源代码中也无上述表格中的相关信息,故尝试通过requests获取html不能得到上述表格中相关信息,所以拟采取 selenium 中的webdriver模拟浏览器进行访问
    (webdriver安装可参考https://blog.youkuaiyun.com/Alisen39/article/details/82930220)。
from selenium import webdriver
from lxml import etree
browser = webdriver.Chrome()
browser.get('http://kcb.sse.com.cn/renewal/') # page_source获取网页的源代码,然后可以使用正则表达式,css,xpath,bs4等来解析网页
html = etree.HTML(browser.page_source)  #得到html
  1. 页面解析元素提取
    在F12中通过定位相关字段,右键查看xpath获取目标元素的路径
    在这里插入图片描述
    定义函数 pagedataget(html),以提取每一页的关键信息,其中部分字段存在换行等情况,不能在一个路径下提取完整,需要加以判断整合。完整代码如下。
'''获取每页的数据'''
def pagedataget(html):
    items = html.xpath('//*[@id="dataList1_container"]/tbody/tr')
    num1=[];issuer_ful1=[];status1=[];province1=[];csrc_ind1=[];compinfourl=[];
    sponsor_org1=[];lawfirm1=[];accountfirm1=[];update1=[];acceptdate1=[];
    issuer_sec1=[];financing_amount1=[];sponsor1=[];accountant1=[];
    lawyer1=[];assessor_org1=[];assessor1=[]
    for item in items :
        num=item.xpath('./td[@class="td_no_break text-align-center"]/text()')
        if num:
            num1.append(num)
        issuer_ful=item.xpath('./td[@class="td_break_word_7 "]/a/text()[1]')
        b=item.xpath('./td[@class="td_break_word_7 "]/a/text()[2]')
        if issuer_ful and b:
            issuer_ful=issuer_ful[0]+b[0]
            issuer_ful1.append(issuer_ful)    
        else:
            if issuer_ful:
                issuer_ful=issuer_ful[0][0:]
                issuer_ful1.append(issuer_ful)    
        url=item.xpath('./td[@class="td_break_word_7 "]/a/@href')
        if url:
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值