python中如何使用tkinter打造一个小说下载器
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,小编给大家分享一下python中如何使用tkinter打造一个小说下载器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!先看下效果图Tkinter 是使用 python 进行窗口视窗设
千家信息网最后更新 2025年01月27日python中如何使用tkinter打造一个小说下载器
小编给大家分享一下python中如何使用tkinter打造一个小说下载器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
先看下效果图
Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口。
作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。
先设计一个图像化的界面
代码
from tkinter import *root = Tk()root.title('小说下载器')root.geometry('560x450+400+200')label = Label(root, text='请输入下载小说名字:', font=('华文行楷', 20))label.grid()entry = Entry(root, font=('隶书', 20))entry.grid(row=0, column=1)text = Listbox(root, font=('隶书', 16), width=50, heigh=15)text.grid(row=2, columnspan=2)button1 = Button(root, text='开始下载', font=('隶书', 15), command=search)button1.grid(row=3, column=0)button2 = Button(root, text='退出程序', font=('隶书', 15), command=root.quit)button2.grid(row=3, column=1)root.mainloop()
然后通过解析网站数据,获取第一个小说的详情页URL即可。
静态网页的爬取,缺点是不大的。
def search(): search_url = 'http://www.xbiquge.la/modules/article/waps.php' data = { 'searchkey': name } response = requests.post(url=search_url, data=data, headers=headers) selector = get_parsing(response.text) novel_url = selector.css('.even a::attr(href)').extract_first()
获取每本小说的章节网址以及小说名字
1,所有的章节名称以及url地址都包含在dd标签里面。
2,获取url后,需要拼接
'/23/23019/11409705.html' # 这是网页获取到的url'http://www.xbiquge.la/23/23019/11409705.html' # 这是真实的小说章节内容url地址
3,小说名字,直接获取即可。
def download_one_book(index_url): response = get_response(index_url) response.encoding = response.apparent_encoding sel = get_parsing(response.text) book_name = sel.css('#info h2::text').get() # 提取了所有章节的下载地址 urls = sel.css('#list dd a::attr(href)').getall() # 不要最新的 12 章放在最前main for url in urls: chapter_url = 'http://www.xbiquge.la' + url print(chapter_url)
保存下载每章小说内容
def download_one_chapter(chapter_url, book_name): response = get_response(chapter_url) response.encoding = response.apparent_encoding html = response.text selector = get_parsing(html) h2 = selector.css('.bookname h2::text').get() content = selector.css('#content::text').getall() lines = [] for c in content: lines.append(c.strip()) print(h2) text = '\n'.join(lines) file = open(book_name + '.txt', mode='a', encoding='utf-8') file.write(h2) file.write('\n') file.write(text) file.write('\n') file.close()
再来个显示下载内容
def novel_load(title): text.insert(END, '正在保存:{}'.format(title)) # 文本框滚动 text.see(END) # 更新 text.update()
看完了这篇文章,相信你对"python中如何使用tkinter打造一个小说下载器"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
小说
章节
隶书
内容
名字
图像
地址
界面
接口
模块
程序
篇文章
网页
这是
开发
设计
输入
必要
直观
不大
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术支撑中心
珠海apk软件开发
唐山软件开发优化价格
无法访问服务器共享文件夹
数据库连接表空间不对
360网络安全工程师
数据库如何连接密码加密
我的世界模组作者的服务器
中国联通网络技术
mc服务器管理模组
关于网络安全主题的绘画作品
四川人怎么看待网络安全
互联网金融科技展
护苗网络安全课文字
网络安全和数据分析哪个好
郑州工控软件开发大概多少钱
个人体检预约出现服务器错误
有关网络安全方面的内容
软件开发公司工资做账
网络安全宣传之漫画密码安全
通过外网ip映射内网服务器
信息网络安全期刊是中文核心吗
广东费用管理软件开发
软件开发新的想法
黄浦区市场软件开发代理品牌
数据库自增主键优点
网络安全与指挥
网络技术部组织架构
石林专业性软件开发价格信息
拒绝攻击服务器是如何实现的