Python Tkinter仅显示段落的最后三行
Tkinter未在窗口中显示完整段落 我的代码:-Python Tkinter仅显示段落的最后三行,python,tkinter,Python,Tkinter,Tkinter未在窗口中显示完整段落 我的代码:- import bs4 as bs import urllib.request import tkinter as tk dinosaur = 'dinosaur' url = ('https://html.duckduckgo.com/html?q='+dinosaur) sauce = urllib.request.urlopen(url).read() soup = bs.BeautifulSoup(sauce, 'lxml')
import bs4 as bs
import urllib.request
import tkinter as tk
dinosaur = 'dinosaur'
url = ('https://html.duckduckgo.com/html?q='+dinosaur)
sauce = urllib.request.urlopen(url).read()
soup = bs.BeautifulSoup(sauce, 'lxml')
a = soup.body.b
print(a)
for i in soup.find_all('a', class_='result__snippet'):
print(i.get_text(separator=' - ', strip=True))
abc = (i.get_text(separator=' - ', strip=True))
root = tk.Tk()
S = tk.Scrollbar(root)
T = tk.Text(root, height=4, width=50)
S.pack(side=tk.RIGHT, fill=tk.Y)
T.pack(side=tk.LEFT, fill=tk.Y)
S.config(command=T.yview)
T.config(yscrollcommand=S.set)
T.insert(tk.END, abc)
tk.mainloop()
但它在终端中显示了整个段落
有人能指出我犯的错误吗?代码的以下部分应如下所示:
abc=""
for i in soup.find_all('a', class_='result__snippet'):
print(i.get_text(separator=' - ', strip=True))
abc += (i.get_text(separator=' - ', strip=True))
+=
运算符连接字符串,这样您就可以得到全文,而不仅仅是循环的最后一次迭代
注
Tcl不支持所有字符。因此,根据字符的不同,无法打印
要避免此问题,请添加以下行:
abc_clean = ""
char_list = [abc[j] for j in range(len(abc)) if ord(abc[j]) in range(65536)]
for j in char_list:
abc_clean+=j
然后:
T.insert(tk.END, abc_clean)
abc+=(i.get_text(分隔符='-',strip=True))name错误:名称“abc”未定义是,抱歉,我忘记了for循环上方的行。现在它是固定的。那么我如何剪切这些字符呢?我提供了清除字符串中奇怪字符的行