一、实现描述
做一个图形程序,有一个Listbox和一个button。
- 读取sanguo.html,Listbox存储前十回的三国演义的小说的标题(title)
- 选中Listbox某一行后,用一个Label显示该下载链接
效果:
二、实现
(1)导库
import tkinter as tk
from bs4 import BeautifulSoup
(2)解析HTML页面
解析对应的页面并存储
- 考虑到文章标题和链接要有映射关系,故把它们转换成键值对模式
# 解析html,获取前十回文章标题
text = [] #存储文章
link = [] #存储链接
path = 'sanguo.html'
htmlfile = open(path, 'r', encoding='utf-8')
html = htmlfile.read()
soup = BeautifulSoup(html, 'lxml')
# 找到相应的标题内容
div = soup.findAll(name="div", attrs={
"class": "book-mulu"}) #这里返回的是一个数组
li = div[0].findAll(name="li", limit=10) #获取前十回,使用limit
# print(li)
for i in li:
text.append(i.text)