文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python实战-新能源王者宁德时代股权穿透研究(附完整代码)

2023-09-05 07:01

关注

继上一篇对贵州茅台和华能信托的股权穿透研究后,又持续对代码做了优化更新,本篇研究新能源王者宁德时代

目录

1、查找网站爱企查

首先选择好查公司股权的网站,这里选择爱企查:https://aiqicha.baidu.com/s?q=

在这里插入图片描述
这是网站的首页,默认查企业

2、搜索新能源王者宁德时代

那接下来就是搜索新能源王者宁德时代:
在这里插入图片描述
代码如下:

browser = webdriver.Chrome()url = 'https://xin.baidu.com/s?q=' + company_namebrowser.get(url)time.sleep(2)  # 休息2秒,防止页面没加载完data = browser.page_source

上面代码中有几个注意点:

2.1 company_name 参数是:宁德时代

2.2 要加sleep,有可能因为网速原因,页面没加载完,这个根据实际情况来增加这个时间的长短

2.3 可能会报webdriver浏览器驱动和浏览器版本不一致的问题,可以参考我的另外文章:

chrome浏览器版本和Chromedriver不匹配问题解决办法

Chrome浏览器关闭自动更新

3、定位筛选第一个公司:宁德时代

通过上面的代码,可以搜索出很多跟宁德时代相关的公司:
在这里插入图片描述
代码中实现如下:

p_href = '

href = re.findall(p_href, data)

获取了所有跟宁德时代相关的公司,我们要取得第一个,代码如下:

p_href = '

href = re.findall(p_href, data)url2 = 'https://xin.baidu.com' + href[0]browser.get(url2)time.sleep(2) # 休息2秒,防止页面没加载完data = browser.page_sourcetable = pd.read_html(data)df = table[1]browser.quit() # 退出模拟浏览器

4、股权穿透到第一层

可以看到宁德时代的股东很多,第一大股东是:
宁波梅山保税港区瑞庭投资有限公司
在这里插入图片描述

这里面我们继续对第一大股东进行穿透:

company = df['股东名称'][0]company_split = company.split(' ')for i in company_split:    if '实际控制人' in i:        print(company)        break    if i.startswith("TA有"):        continue    if i.startswith("实际控制人"):        continue    if len(i) > 6:  # 不要用if '有限公司' in i,这个不太好,例如国资委不含有“有限公司 ”字样        return i

会把宁波梅山保税港区瑞庭投资有限公司返回,继续对宁波梅山保税港区瑞庭投资有限公司进行穿透研究

5、股权穿透到第二层

对宁波梅山保税港区瑞庭投资有限公司进行穿透研究,可以看到
在这里插入图片描述

可以看到宁波梅山保税港区瑞庭投资有限公司的第一大股东是曾毓群,其实继续执行了上述代码。

打印结果是:

宁波梅山保税港区瑞庭投资有限公司曾  曾毓群  TA有5家企业 >大股东 实际控制人最终受益人55.0Process finished with exit code 0

完整代码如下:

#!/usr/bin/env python# coding: utf-8# In[1]:from selenium import webdriverimport reimport timeimport pandas as pddef baidu(company_name):    browser = webdriver.Chrome()    url = 'https://xin.baidu.com/s?q=' + company_name    browser.get(url)    time.sleep(2)  # 休息2秒,防止页面没加载完    data = browser.page_source        p_href = '

href = re.findall(p_href, data) url2 = 'https://xin.baidu.com' + href[0] browser.get(url2) time.sleep(2) # 休息2秒,防止页面没加载完 data = browser.page_source table = pd.read_html(data) df = table[1] browser.quit() # 退出模拟浏览器 company = df['股东名称'][0] company_split = company.split(' ') for i in company_split: if '实际控制人' in i: print(company) break if i.startswith("TA有"): continue if i.startswith("实际控制人"): continue if len(i) > 6: # 不要用if '有限公司' in i,这个不太好,例如国资委不含有“有限公司 ”字样 return i num_sum = 0.0 num = 0 for i in df['持股比例']: if i == '-': num = 1 break i = float(i[0:-6]) # 清除百分号,并转为浮点数 print(i) num_sum = i + num_sum num += 1 if num_sum > 80: break #print("持股比例:", num) # In[17]: for i in range(num): company_i = df['股东名称'][i] company_split = company_i.split(' ') for j in company_split: if '有限公司' in j: print(j)company = '宁德时代'while True: try: company = baidu(company) print(company) except: break company

来源地址:https://blog.csdn.net/superdangbo/article/details/127867232

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯