2017-09-14 16 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 티커가있는 뮤추얼 펀드를 예로 들어 보겠습니다. 내가 아는 바로는 뮤추얼 펀드와 ETF만이 프로필 탭에 "Fund Family"카테고리를 가지고 있습니다. 그러므로 티커에 "Fund Family"가 들어있는 HTML 스팬이 포함되어 있는지 확인하는 YQL이 필요합니다.

원시 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 

당신이 쿼리가 같은 응답을 반환해야합니다 뮤추얼 펀드 나 ETF 인 시세 경우

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

어느 쪽이든 결과 비어 있습니다.