VBA实例(40)- 一键快速查询基金代码

作品简介

点击下方红字获取VBA实例完整代码文件

================

VBA实例系列,最新更新到48个,点击下方链接进行查看:

https://mbd.pub/o/bread/mbd-YZ6Wlp5t


说明:因为这个实例涉及到对某度的数据请求,大量无效、恶意的请求可能会导致该实例失效。因而请勿随意大量尝试,请谨慎付费!!!

今天就来分享一个快速查询基金代码的VBA实例。

问题描述

如下图,我们搜集整理了一些基金的名称放在A列,需要找到对应的基金代码填入B列。

思路分析

在搜索引擎里面直接搜索关键词,是可以找到我们需要的代码的。基于这个,永恒君的大体思路可以是这样的:

以关键词富国中证医药50ETF为例

1、在百度里搜索,提取前3页的网页标题。

2、从这些标题当中提取所有的代码。

代码提取结果

代码提取结果

3、统计都有哪些非空代码出现过

4、统计这些代码出现的次数频率

 

5、将出现次数最高的作为基金的代码。

这样,我们就把富国中证医药50ETF的基金代码找到了。

至此,我们只需要把上面的过程整合一下就可以进行批量处理了。

效果演示

回到开头的那个表格,我们来演示一下效果:

基金代码提取

基金代码提取

因为是要进行网络请求,速度自然会受当时的网络环境有影响。不过可以看到,代码都还是都可以提取到的。

效果评测

1)下图是程序提取的代码和永恒君手工查找的代码。

细心点的朋友可能发现了,最后一条国联安中证半导体ETF代码和手工查找的是不一样的。

经过永恒君反复调试和核对,是因为请求太频繁了,百度开启了安全验证,因而数据就没法抓取了。

百度安全验证源码

百度安全验证源码

故,将需要将请求的速度降下来,虽然提取的时间长了,但结果更让人满意了。

2)平时我们查找基金信息的时候,一般只会记住关键词,类似于基金公司+行业/主题/指数等的模式。

例如全名为汇添富中证主要消费ETF的基金,代表汇添富公司发行的跟踪中证主要消费指数的etf基金,通常提到的关键词是汇添富 消费ETF

也就是说,通常会是在百度里搜索关键词汇添富 消费ETF,而不是汇添富中证主要消费ETF

那类似这样的只输入基金的关键词,还能提取到正确的代码吗?我们来看看

最终效果还是挺满意的。

3)经过测试使用,能够找对大部分的基金代码。但是也因为算法的局限,有可能少部分会提取不到。

如果请求次数太多太频繁,可能提取不到百度的搜索结果。

如果百度搜索到的代码,出现的次数频率相同的情况,提取的代码就可能会不完整或者有误。

再比如搜索的关键词可能会对应多只基金,那么可能会存在不一致的问题。


点击下方红字获取VBA实例完整代码文件,以及分步骤VBA代码。




说明:因为这个实例涉及到对某度网站的数据请求,大量无效、恶意的请求可能会导致该实例失效。因而请勿随意大量尝试,请谨慎付费!!!

创作时间: