私はBokehに関するUdemyチュートリアルに従っています。私は解決方法を理解することができず、チューターからの応答を受け取っていないというエラーに出くわしました。最初は、私のコードに何か問題があったと思っていたので、それを理解しようと1週間ほど過ごしてから、最後に教えてくれたコードをコピーしてエラーを解決しました。定期的なコールバックからBokehエラーがスローされました
コードの目的は、ライブデータをスクラップしてプロットすることです。以下のコード:定期的なコールバックからスロー
エラー:投げている
from bokeh.io import curdoc from bokeh.models import ColumnDataSource, DatetimeTickFormatter from bokeh.plotting import figure from random import randrange import requests from bs4 import BeautifulSoup # Create the figure f = figure() # Create webscraping function def extract_value(): r = requests.get("https://bitcoincharts.com/markets/okcoinUSD.html", headers = {'User-Agent' : 'Chrome'}) c = r.content soup = BeautifulSoup(c, "html.parser") value_raw = soup.find_all("p") value_net = float(value_raw[0].span.text) return value_net # Create ColumnDataSource source = ColumnDataSource(dict(x = [], y = [])) # Create glyphs f.circle(x = 'x', y = 'y', color = 'olive', line_color = 'brown', source = source) f.line(x = 'x', y = 'y', source = source) # Create periodic funtion def update(): new_data = dict(x = [source.data['x'][-1]+1], y = [extract_value]) source.stream(new_data, rollover = 200) print(source.data) # Displayed in the commmand line! # Add a figure to curdoc and configure callback curdoc().add_root(f) curdoc().add_periodic_callback(update, 2000)
何が起こっているのはIndexError( ' 範囲外のリストインデックス')
任意のアイデアここに?
私は同じチュートリアルに従い、古いバージョンのbokehを使用します。その間に構文が変更されている可能性があります。 Bokehはこの観点から非常に「ダイナミック」です。 最新のBeautifulSoupとBokehでは、BeSoup(_html5lib.py)のエラーのために動作しません。 現在どのバージョンをお使いですか?インストラクターが使ったものをインストールしようとしましたか?どのラインでエラーが出ていますか? –