2017-09-14 186 views
1

我正在寻找一种方法从Yahoo Finance获取所有共同基金和ETF代理商的名单。我发现像一些解决方案,例如:Yahoo Finance API获取所有共同基金和ETF代收券的清单

https://github.com/Benny-/Yahoo-ticker-symbol-downloader

http://investexcel.net/all-yahoo-finance-stock-tickers/

但检查几十个随机行情后unfortunantely大多不属于共同基金类别。只要我能找到一种方法来检查代码的类别,就有了这个代号的列表似乎很有用。

enter image description here

使用搜索框,弹出显示股票的类别雅虎财经网站。如何以编程方式复制此功能或使用例如YQL?

编辑:

以下丹尼尔的提醒后,我已经成功地过滤代号和 更新他们对我的GitHub: https://github.com/MichaelDz6/Yahoo_Finance_ETFs_Web_Scraper

回答

2

有可能告诉羯羊股票的共同基金或ETF,但很难区分共同基金和ETF。

作为一个例子,让我们带着股票代码TIBIX来研究Mututal基金。据我所知,只有共同基金和ETF在其个人资料标签中有“基金家庭”类别。因此,您需要YQL来检查股票是否包含内含“基金系列”的HTML跨度。

生YQL查询

select * from htmlstring where url='https://finance.yahoo.com/quote/TIBIX/profile?p=TIBIX' and xpath='//span/*[contains(.,"Fund Family")]//text()' 

端点的查询

https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20htmlstring%20where%20url%3D'https%3A%2F%2Ffinance.yahoo.com%2Fquote%2FTIBIX%2Fprofile%3Fp%3DTIBIX'%20and%20xpath%3D'%2F%2Fspan%2F*%5Bcontains(.%2C%22Fund%20Family%22)%5D%2F%2Ftext()'&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys 

如果TICKER是共同基金或ETF,查询应该返回这样的响应:

{"query":{"count":1,"created":"2017-09-25T07:07:10Z","lang":"en-US","results":{"result":"Fund Family"}}} 

不管怎样结果将是空的。

相关问题