小说下载器exe-python tkinter打包‘笔趣阁爬虫’为exe文件

这篇博客介绍了如何将基于Python的笔趣阁爬虫程序利用tkinter创建图形界面,并通过pyinstaller将其打包成可执行的exe文件。博主详细讲述了tkinter模块的使用,包括创建界面元素如Label、Button和Entry,以及如何设计搜索、下载功能。同时提到了打包过程,以及程序运行时可能出现的短暂未响应情况。提供了笔趣阁下载链接和电话查询程序的相关信息。
摘要由CSDN通过智能技术生成

通过python库tkinter和pyinstaller给程序做简单界面并打包exe

前言

在做完笔趣阁爬虫结束后想起之前看过pyinstaller库可以打包程序,这样即便在另外的没有编译环境的电脑上也可以使用,前两天正好看到一个使用tkinter做界面,实现电话查询的功能的视频,觉得有意思,于是就开始对tkinter的摸索。

1,tkinter

Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。

这里是根据我之前写的笔趣阁爬取的代码上修改的,在main函数中创建了tk类
我的界面布局上主要使用了Label,Button,Entry。
设计了包括 搜索,路径,选择,下载的Button,以及,搜索框Entry,和若干Label。

2,pyinstaller

对程序打包会使用到这个库,PyInstaller是python的第三方库,其重要作用是将.py源代码转换成无需源代码的可执行文件,即
.py----PyInstaller----Windows(exe文件)、Linux、Mac OS X
执行命令:
简单理解,前面是生成exe的图标路径,后面是py文件路径。 .ico是图像类型

E:\a-pycharm\爬虫学习>pyinstaller -F -w -i x:\xx\xxx\xxx\x.ico x:\xxx\xxx\xxxx\xxx.py

使用说明:
1,首先在搜索框输入你需要的小说名称,点击搜索后,会打印搜索的内容。
2,路径是可以不选择的,默认会下载在与该exe的同级目录下。
3,鼠标点击你需要的小说,会在搜索内容后面打印出来。
4,最后点击下载即可开始。

!!!!!!!!!!!!!!!!!!最后下载时调用的函数是最复杂的这里还包含爬取免费IP的过程,程序会出现短暂的未响应状态,在开始爬取的时候会恢复正常,这时会打印下载进度。
在这里插入图片描述
这里怕侵权小说作者权益,所以全部内容都打了码,怕审核不过。
在这里插入图片描述

3,网盘连接

笔趣阁下载连接:
https://pan.baidu.com/s/1YZFczLCGFajDNftZVPRBqA
提取码:zxcv

电话归属地查询连接:
这个是我在网上看视频别人做的电话归属地查询,于是仿做了一个。涉及电话号码便不演示了。
在这里插入图片描述

https://pan.baidu.com/s/1G61E5BOfRiYwRP6AVjwg4g
提取码:test

笔趣阁源码

#-*- codeing = utf-8 -*-
# @Time :21/9/23/0023 22:20
# @Author:zx 
# @File :笔趣阁.PY 
# @sOFTWARE:PyCharm


import requests
from lxml import etree
from getip import getip
import random
from tkinter.filedialog import askdirectory
import tkinter as tk


headers= {
   
        "User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36"
    }
'''
kw输入完成搜索,打印所有的搜索结果
返回选择的书籍的url
'''
def biquge_get():
    url = "http://www.b520.cc/modules/article/search.php?searchkey={}".format(e1.get())
    book_info = []
    r = requests.get(url =url,
                     headers = headers,
                     timeout = 30
                     )
    r.encoding = r.apparent_encoding
    html = etree.HTML(r.text)
    # 获取搜索结果的书名
    bookname = html.xpath('//td[@class = "odd"]/a/text()')
    bookauthor = html.xpath('//td[@class = "odd"]/text()')
    bookurl = html.xpath('//td[@class = "odd"]/a/@href')
    print('搜索结果如下:\n')
    a = 1
    b = 1
    for i in bookname:
        print(str(a)+':',i,'\t作者:', bookauthor[int(b - 1)])
        book_info.append([str(a)+':'+i+' 作者:'+bookauthor[int(b-1)]+'-'+bookurl[int(a-1)]])
        a = a + 1
        b = b + 2
    # print(book_info)

    var2 = tk.StringVar()
    l4 = tk.Listbox(root, listvariable=var2, width=30, font=2)
    for item in book_info:
        l4.insert('end', item[0])  # 从最后一个位置开始加入值
    l4.grid(row=1, column=1)
    l4.place(x=5,y=100,relwidth=0.9,relheight=0.5)
    yscrollbar = tk.Scrollbar(l4, command=l4.yview)
    yscrollbar.pack(side=tk.RIGHT, fill=tk.Y)
    l4.config(yscrollcommand=yscrollbar.set)

    #l4声明为全局变量
    select_info.x=l4

    # c = input('请选择你要下载的小说(输入对应书籍的编号):')
    c=1
    book_name = str(bookname[int(c) - 1])
    # print(book_name, '开始检索章节
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值