查看原文
其他

爬完独立董事的年薪,我的眼镜跌破了!

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:李忠旺,河南大学经济学院

本文编辑:赵一帆

技术总编:陈   鼎

Stata&Python云端课程来啦!

       为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!!!Stata&Python特惠课程双双上线腾讯课堂~爬虫俱乐部推出了Python编程培训课程Stata基础课程Stata进阶课程Stata文本分析正则表达式网络爬虫基本字符串课程。报名课程即可加入答疑群,对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦。我们在这篇推文的最后提供了每门课程的课程二维码,大家有需要的话可以直接扫描二维码查看课程详情并进行购买哦~

    独立董事是指独立于公司股东且不在公司内部任职,并与公司或公司经营管理者没有重要的业务联系或专业联系,并对公司事务做出独立判断的董事。听起来比较拗口,简单来说独董在判断公司事务时需要保持独立,不受大股东或管理层干预,从而可以代表和保护中小股东的利益免受大股东和管理层的盘剥!

    在康美案一审判决中,5名兼职独立董事需要承担5%或者10%的连带赔偿,金额高达1.23亿元或2.46亿,远超他们在任职期间的年薪(10万元)。康美药业事件之后,随着独立董事的任职风险不断加大,大量独立董事火速辞职。本文想要探究中国上市公司独立董事的平均薪资水平以及最高和最低的薪资水平,通过Python软件从新浪财经网站上抓取了近4000家A股上市公司独立董事的薪资水平并进行了相关的统计分析。研究发现:中国独立董事平均薪资水平在5-10万之间,百万级薪资的独立董事凤毛麟角,这个结果不禁令我们思考,独立董事肩上“沉甸甸”的勤勉尽责义务与其所获薪资水平是否相符呢?


01获取网址信息
import requestsimport pandas as pd from bs4 import BeautifulSoupimport timeimport re headers={ "你的headers"}hreflist=[]for i in cnstocks: url="http://vip.stock.finance.sina.com.cn/corp/go.php/vCB_Bulletin/stockid/{}/page_type/ndbg.phtml".format("%06d"%i) html=requests.get(url,headers=headers) content=html.text soup = BeautifulSoup(content,'lxml') print(i) if soup: list1=soup.find("div",class_="datelist") if list1: list1=list1.find_all("a") for n in range(len(list1)): hrefs=list1[n].get("href") newhref="http://vip.stock.finance.sina.com.cn/"+hrefs hreflist.append(newhref)df_href=pd.DataFrame(newhreflist,columns=["url"])df_href.to_excel(r"D:\爬薪酬\href.xls")
结果图:

这是抓取信息的第一部分代码,这一部分代码用来获取各A股公司年报的网页链接。通过网页链接,我们就能定位到各公司逐年的公司年报,再从年报中获取独立董事的薪资水平。

02获取独立董事的薪资水平
df=pd.read_excel(r"D:\爬薪酬\href.xls")newdata6=df.url.values.tolist()kpqlist8=[]bukelist6=[]def getdata(url): response=requests.get(url,headers=headers) html=response.text soup=BeautifulSoup(html,'lxml') tet=soup.find_all("div",class_="table-wrap") tiye2=soup.find_all("title")[0].text s=re.search("(\w+)\(\d{6}\).+(\d{4})年",tiye2) if s: title=s.group(1) year=s.group(2) if tet: for i in range(len(tet)): if str(tet[i]).find("从公司获得的税前")>0: new= tet[i].prettify() df=pd.read_html(new,header=0) df1=df[0] if len(df1)!=0: newdf=df1[df1.职务=="独立董事"] newdf["year"]=year newdf["公司"]=title kpqlist8.append(newdf) else: listds=re.findall("(\w+)\s+(独立董事)\s+(\w)\s+(\d+)\s+\w+\.\w+~\d+.*\s+(\d+.\d+)",html) for i in listds: i+=(year,) i+=(title,) bukelist6.append(i)for i in range(len(newdata6)): print(i) getdata(newdata6[i]) time.sleep(5)
结果图:

这里需要提醒,新浪财经网上收录的公司年报中只有2015年之后的年报是有记录独董薪资的。所以本文抓取相关信息时间跨度为2015-2020年,一共抓取到了66751条数据。
代码方面,无需细讲,但值得注意的是,本文获取信息时用到pd.read_html()方法,这是pandas库中读取html文档时设置的函数——相当好用!仅需三行代码就可以抓取到自己想要的网站表格数据(注意是表格数据)。
举例来说,如果我们想获取2022年QS世界大学综合排名,以网站(2022年QS世界大学综合排名 (compassedu.hk))为例

上面这个表格是网站上的表格,如果我们想把它抓取下来只需要把对应的网址html抓取下来,用pd.read_html()来读即可,只需三行代码:
url="https://www.compassedu.hk/qs" #这一行不算~
html=requests.get(url)
html.encoding="utf-8"
pd.read_html(html.text)[0]
结果图:

是不是很便利~

03描述性统计
好了,言归正传(该说钱了),拿到各公司独立董事的薪资水平后,我们简单进行一下描述性统计:

从各年的描述性统计中可以看出独立董事的薪酬总体均值在8万元人民币左右,然而极值相差甚巨,最高年薪拥有者是上海**医药科技公司独立董事陈*平,年薪554万,年薪最低为1万元。
最后利用图表以更好地展示独立董事的薪资水平特征。
2020年拥有薪资最高/低独董的公司及平均薪资:

从表中可以看出并非同一家公司每个独立董事的薪酬都一样,以君**物-U公司为例,同为独立董事,有的薪酬高达543万,有的只有区区4万(未显示在表中)。因此,独立董事并非都是摆设,薪资的高低透露着独立董事间的差异性,有的在地狱,有的在天堂,但欲戴皇冠,必承其重,高薪者更应该对上市公司及全体股东负有诚信与勤勉义务,认真履行职责,维护公司整体利益。

2020年独董总薪资排名及其任职公司数:

上市公司独立董事薪资范围分布如下:

总结来说,独立董事的薪资极值差异很大,年薪普遍在5-10万之间,拥有百万年薪的也是凤毛麟角,高薪行业主要集中于银行、金融类、医药、科技类等公司。

END

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。



腾讯课堂课程二维码








            


 对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!











往期推文推荐        识别旅游“照骗”——看风景名胜是否名副其实        主成分分析的Python实现

正则表达式--贪婪模式

Seminar丨谁更重要:高管股权薪酬与财务报告欺诈DOS能量,超乎你想象!

爬虫实战丨走进哈利波特的魔法世界

数据集合并的新路子-frlink命令

Seminar丨附近的公司:利用卫星图像研究本地信息优势

线性同余法生成伪随机数 

[技能篇]多线程爬虫

“好哭”是衡量一部好电影的标准吗?

Stata&Python云端课程来啦!

带你了解Stata中的矩阵

Seminar|总统的朋友:政治关联与企业价值
爬虫实战 | 爬取中国天气网

爬虫实战 | 爬取东方财富网经济数据——以居民消费价格指数(CPI)为例

Seminar|媒体关联董事对融资和外部治理的影响神奇的组内交叉合并 PDF分章节转TXT并实现可视化——以胡景北知青日记1971至1978年为例

万物皆可开——shellout妙用

无处不在的系列配置项|从零开始的Pyecharts(三)

使用Python制作自动聊天机器人  

fillin一下,平衡回来~

order命令——快速改变变量顺序的利器 Ajax应用场景——以获取雪球网港股代码及公司名称为例

播放列表中的歌单排行 

在Stata中轻松运用program编写命令

Meta Analysis in Stata17      

芒果TV视频弹幕爬取之《我在他乡挺好的》

Stata中的判断神器——confirm命令

cngdf——名义GDP与实际GDP之间的摆渡船

最近《扫黑风暴》有点火爆!我从豆瓣评论中发现了这些……

随机森林-Random Forest 

关于我们 


   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里
为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众
号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存