tkinterのスクロール方法
tkinterのスクロール方法
pythonのtkinterとBeautifulSoupライブラリーについて質問です。
現状ではエラー文は発生していませんが、思うような実装ができていない状況です。
該当するソースコード
import tkinter as tk
import requests
from bs4 import BeautifulSoup
room = tk.Tk()
room.title("スクレイピング")
room.geometry("1000x1500")
canvas = tk.Canvas(room)
bar = tk.Scrollbar(room, orient=tk.VERTICAL)
bar.pack(side=tk.RIGHT, fill=tk.Y)
bar.config(command=canvas.yview)
canvas.config(yscrollcommand=bar.set)
canvas.config(scrollregion=(0,0,1000,1500))
frame = tk.Frame(canvas)
canvas.create_window((0,0), window=frame, anchor=tk.NW, width=1000, height=1500)
xtbox = tk.Text( width=2500, height=2500)
apple_ranking_html = requests.get("https://music.apple.com/jp/playlist/%E3%83%88%E3%83%83%E3%83%97100-%E6%97%A5%E6%9C%AC/pl.043a2c9876114d95a4659988497567be")
soup = BeautifulSoup(apple_ranking_html.text, "html.parser")
div = soup.div(class_="song-name typography-body-tall")
for d in div:
divs = d.getText()
static = tk.Label(text = divs)
static.pack()
frame.pack()
room.mainloop()
実行した写真を載せさせていただきます。
スクリーンショット 2021-04-10 7.04.10.png
これはApple Musicのtop100ランキングをスクレイピングしてそれをtkinterで表示しようとしています。
ですが、スクロールが機能していません。
スクロールバーの表示はできていますがうごかしても肝心の中身が動かずに困っています。
自分なりに調べてみてもスクロール範囲の指定できていないのではないかという結論を出してしますが、反映されません。
わかる方は回答よろしくお願いいたします。
0