Python實戰-貴州茅臺和華能信託股權穿透研究(附完整程式碼)

專注的阿熊發表於2022-12-06

#!/usr/bin/env python

# coding: utf-8

# In[1]:

from selenium import webdriver

import re

import time

import pandas as pd

# In[2]:

company_name = ' 華能信託 '

browser = webdriver.Chrome()

url = ' + company_name

browser.get(url)

data = browser.page_source

print(data)

# In[3]:

p_href = '<h3 data-v-4dc1d36e=""><a data-v-4dc1d36e="" target="_blank" href="(.*?)"'

href = re.findall(p_href, data)

url2 = ' + href[0]

browser.get(url2)

data = browser.page_source

# In[5]:

table = pd.read_html(data)

df = table[1]

df

# In[7]:

company = df[' 發起人 / 股東 '][1]

company

# In[12]:

company_split = company.split(' ')

company_split

# In[14]:

company = df[' 發起人 / 股東 '][0]

company_split = company.split(' ')

for i in company_split:

     if ' 有限公司 ' in i:

         print(i)

# In[13]:

company = df[' 發起人 / 股東 '][0]

company_split = company.split(' ')

for i in company_split:

     if len(i) > 6:

         print(i)

# In[15]:

def baidu(company_name):

     browser = webdriver.Chrome()

     url = ' + company_name

     browser.get(url)

     time.sleep(2)  # 休息 2 秒,防止頁面沒載入完

     data = browser.page_source

     p_href = '<h3 data-v-4dc1d36e=""><a data-v-4dc1d36e="" target="_blank" href="(.*?)"'

     href = re.findall(p_href, data)

     url2 = ' + href[0]

     browser.get(url2)

     time.sleep(2)  # 休息 2 秒,防止頁面沒載入完

     data = browser.page_source

     table = pd.read_html(data)

     df = table[1]

     browser.quit()  # 退出模擬瀏覽器

     company = 外匯跟單gendan5.comdf[' 發起人 / 股東 '][0]

     company_split = company.split(' ')

     for i in company_split:

         if len(i) > 6:  # 不要用 if ' 有限公司 ' in i ,這個不太好,例如國資委不含有“有限公司 ”字樣

             return i

# In[16]:

baidu(' 中國華能集團有限公司 ')

# In[17]:

company_1 = baidu(' 華能信託 ')

company_2 = baidu(company_1)

company_3 = baidu(company_2)

# In[18]:

company_1, company_2, company_3

# In[ ]:

# In[ ]:

# In[19]:

company = ' 貴州茅臺 '

while True:

     try:

         company = baidu(company)

         print(company)

     except:

         break

company

# In[ ]:

# In[ ]:

# In[38]:

num_sum = 0.0

num = 0

for i in df[' 持股比例 ']:

     if i == '-':

         num = 1

         break

     i = float(i[0:-1])  # 清除百分號,並轉為浮點數

     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)

# In[ ]:

# In[ ]:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2926985/,如需轉載,請註明出處,否則將追究法律責任。

相關文章