薛原,华中科技大学2018级工商管理专业(会计学方向)博士生,爬虫俱乐部成员,擅长Stata、Python编程技术。参与编写了chinagcode,t2docx,reg2docx,cnintraday,chinaaddress,wordconvert, sum2docx等十余个热门Stata命令。能够实现中文地址与经纬度之间的转换、中国上市公司分时交易数据的抓取、实证结果输出等多个功能。其中多个命令曾进入ssc最热门的前十大命令。从事公司治理以及法与金融方向的研究,已有成果发表在《金融研究》。
2021年7月27日晚,华中科技大学管理学院博士生薛原作为第四期香樟青苗计划主讲人,为大家带来了“Stata编程与网络爬虫II”的讲座。本次讲座由王一平助教主持,第四期香樟青苗计划学员参加。
薛博士以“在新浪财经网页中抓取上市公司公告”和“高管信息”这两个例子,演示了使用Stata软件进行网络爬虫的方法。
其基本步骤如下:
1. 锁定目标信息所在网页;
2. 获取url链接获取网页源代码(copy,curl);
3. 将源代码无乱码读入Stata中(文本文件的读入转码);
4. 提取源代码中信息;
5. 多网页爬取。
第一个例子演示的是抓取新浪财经网页中上市公司的公告。薛博士以长江电力公司为例,用Stata软件抓取了日期、链接、标题和股票代码等。
薛博士提到,抓取的信息需要查看网页源代码进行具体分析,继而进行处理、转码和拆分等操作。若需要抓取长江电力公司的多个公告页面,则需用forvalues命令对页码数字进行循环。薛博士还逐一讲解并示范了单网页infix读入处理、多网页fileread读入处理、文本分析时删除表格等一系列细节处理。
第二个例子演示的是抓取新浪财经网页中上市公司的高管信息。薛博士介绍了如何使用正则表达式定位所需信息,使用余数来处理行号,提取姓名、职务、起始日期和终止日期等信息。
由于时间原因,在这个例子中薛博士仅分享了单网页处理的过程,多网页处理将在下次讲座进行分享。
在讲座最后,薛博士详细说明了用ustrregexs 函数提取、用ustrregexm函数匹配与用ustrregexrf和ustrregexra函数替换的方法,并提及如何用cnstock命令自动获取股票代码。
至此,本次讲座圆满结束!感谢薛原博士的精彩授课!(文案丨王煜正)