私はYahoo Financeサイトから基本データを要求するスクリプトを移植しようとしていますが、価格のようなレポート全体ではなく特定のアイテムを探したいと思います例えば、書籍の比率。ですから、Sentdexのチュートリアルに従っています。問題は、サンプルコードがPython 2.7用に書かれていて、私はPython 3用にその作業をしようとしていますが、さらに機能を追加することでそれを拡張しようとしています。Python 3を使用してYahoo Financeサイトから株式情報を取得する
import time
import urllib
import urllib.request
sp500short = ['a', 'aa', 'aapl', 'abbv', 'abc', 'abt', 'ace', 'aci', 'acn', 'act', 'adbe', 'adi', 'adm', 'adp']
def yahooKeyStats(stock):
try:
sourceCode = urllib.request.urlopen('http://finance.yahoo.com/q/ks?s='+stock).read()
pbr = sourceCode.split('Price/Book (mrq):</td><td class="yfnc_tabledata1">')[1].split('</td>')[0]
print ('price to book ratio:'),stock,pbr
except Exception as e:
print ('failed in the main loop'),str(e)
for eachStock in sp500short:
yahooKeyStats(eachStock)
time.sleep(1)
私はこの問題は、それの分割部に、PBR変数の定義にある、ほぼ確信している:ここで
は、それがこれまでに見ているかです。 :
Price/Book (mrq):</td><td class="yfnc_tabledata1">
そして...:私が探しているものをと
</td>
が...ちょうどソート区切り文字のある、実際の値は、上に挙げた二つのアイテムの間にあります。しかし、これまでは、実行時に例外メッセージしか表示されませんでした。
ご協力いただければ幸いです。 乾杯、
などBeautifulSoupなどのHTMLパーサを使用してください。 –
ウェブページを削ることなくあなたが望むことをする方法はたくさんあります...関連:http://stackoverflow.com/questions/12433076/download-history-stock-prices-automatically-from-yahoo-finance-in-python –