python期末报告总结

这篇博客是对作者进行Python期末大报告的总结,主要包括技术收获和反思。在技术方面,作者深入理解了tkinter模块,熟练掌握了网络爬虫、多线程和数据库连接。然而,反思中指出目标设定不清晰,过于注重GUI设计,忽视了爬虫的优化,同时存在自我满足的情况,导致最后的结果不尽如人意。作者表示将从失败中吸取教训,继续努力。
摘要由CSDN通过智能技术生成

python期末大报告做了接近两天,结果却不是很好,写个报告总结一下

一.技术总结

我实现的是一个网络读书网站的书籍下载和书籍阅读系统

目标是上面的世界名著模块:365读书人网站上的世界名著模块

书籍的下载用的是多线程爬虫,书籍阅读界面是用GUI完成了一个记事本,登录界面连接数据库进行判断

下面是实现的代码:

import tkinter
import pymysql
import re
import threading
import requests
import tkinter.filedialog
import tkinter.messagebox
import os
import codecs
import chardet
import time



global user_et, psw_et, rd_win, text, filename, lg_win, book_url, book_title
roort_cate = [' ', '世界名著']

def wr():
    wr_tk = tkinter.Tk()
    wr_tk.title("Error")
    wr_tk.geometry("250x125+750+400")
    wr_lb = tkinter.Label(wr_tk, text="不存在该用户或者密码错误", font=("宋体", 10))
    wr_lb.place(x=50, y=60, width=150, height=20)
    wr_tk.mainloop()

def reg():
    conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='read', charset='utf8')
    cursor = conn.cursor()
    us_nm = user_et.get()
    psw = psw_et.get()
    sql = "insert into user(user_name, password) values('%s', '%s')" %(us_nm, psw)
    print(sql)
    cursor.execute(sql)
    conn.commit()
    cursor.close()
    conn.close()

def log():
    conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', database='read', charset='utf8')
    cursor = conn.cursor()
    us_nm = user_et.get()
    psw = psw_et.get()
    sql = "select * from user where user_name = '%s' and password = '%s'" %(us_nm, psw)
    print(sql)
    cursor.execute(sql)
    count = cursor.rowcount
    print(count)
    if count == 1:
        interface()
    else:
        wr()
    cursor.close()
    conn.close()

def find_chinese(file):
    pattern = re.compile(r'[^\u4e00-\u9fa5]')
    chinese = re.sub(pattern, '', file)
    return chinese

l=threading.Lock()
def wt(url, fpath):
    l.acquire()
    time.sleep(0.001)
    headers = {"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"}
    response = requests.get(url, headers=headers)
    response.encoding = 'gb2312'
    html = response.text
    #print(html)
    content = re.findall(r'</DIV>(.*?)<!--/HTMLBUILERPART0-->', html, re.S)[0]
    #content = re.findall(r'</DIV>(.*?)', content, re.S)[0]
    #content = clean(content)
    #content = find_chinese(content)

    content = content.replace('<BR>', '')
    content &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值