python 小说最新章节_python爬取笔趣阁小说(TK可视化)

1 importrequests2 from lxml importetree3 from pyquery importPyQuery as pq4 importre5 importtime6 from datetime importdatetime7 from tkinter import *

8 importthreading9 from tkinter importmessagebox10

11 #获取小说内容-------------------------------------------------------------

12 defcontent(a):13 response=requests.get(a,headers=header)14 response.encoding = 'utf-8'

15 dom =etree.HTML(response.text)16 content3=dom.xpath('//*[@id="content"]/text()')17 b=''.join(content3).replace(u'\xa0','\r\n')18 returnb19 #获取小说目录-------------------------------------------------------------

20 defget_mulu_url(index_url):21 response=requests.get(index_url,headers=header).text22 dom=etree.HTML(response)23 for i in range(13,end+13):24 herf = dom.xpath('//*[@id="list"]/dl/dd['+str(i)+']/a/@href')25 title =dom.xpath('//*[@id="list"]/dl/dd['+str(i)+']/a/text()')26 index_name_list.append(title)27 index_list.append(herf)28 print('获取目录成功')29 #下载小说---------------------------------------------------------------

30 defdownload():31 try:32 for i inrange(0,len(index_list)):33 a=index_url+''.join(index_list[i])34 content(a)35 title_name=''.join(index_name_list[i])36 print()37 importcodecs38 with codecs.open('F:\小说1.txt','a+',encoding='utf-8') as f:39 #file=open('F:\小说.txt','a+',)

40 f.write(title_name)41 f.write('\r\n')42 f.write(content(a))43 f.write('\r\n')44 #print(index_list)

45 #print('下载'+''.join(index_name_list[i]+'完成'))

46 #del index_list[0]

47 #del index_name_list[0]

48 #title_name1=''.join(index_name_list[i])

49 print('下载'+title_name+'章完成')50 var_size.set('下载'+title_name+'章完成')51 time.sleep(1)52 var_size.set('下载完成')53 except:54 r = messagebox.askokcancel('警告', '网站被检测')55 print('error')#pass56

57 #主函数 启动获取目录线程----------------------------------------------------

58 defmain():59 var_size.set('正在获取目录和章节')60 print('正在获取目录和章节')61 globalindex_url62 index_url=E1.get()63 globalend64 end=E2.get()65 end=int(end)66 print(index_url)67 get_mulu_url(index_url)68 time.sleep(2)69 a=datetime.now()70 var_size.set('开始下载')71 print('开始下载时间为',a)72 t.start()73 #调用线程--------------------------------------------------------------------------

74 defone():75 test=E2.get()76 if test =='':77 r = messagebox.askokcancel('警告-warning', '书籍链接和章节不可为空!')78 else:79 t1.start()80

81 if __name__ == "__main__":82 app=Tk()83 app.title('小说下载器')84 app.geometry('370x200')85 v1 =StringVar()86 v2 =StringVar()87 index_list=[]88 index_name_list=[]89 #index_url='https://www.qu.la/book/44121/'

90 header={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3695.400 SLBrowser/10.0.3710.400'}91

92 var_size =StringVar()93 var_ck =StringVar()94

95 label3=Label(app,text='小说官网:https://www.qu.la/').pack()96 label4=Label(app,textvariable=var_size).pack()97

98 E2 = Entry(app,textvariable=v2,bd=5)#章节

99 E1 = Entry(app,textvariable=v1,bd=5)#小说网站

100 E2.pack()101 E1.pack()102

103 t=threading.Thread(target=download)#下载

104 t1=threading.Thread(target=main)#获取目录

105

106 run=Button(app,text='开始下载',command=one).pack()107 label3=Label(app,text='1.章节号 2.书籍链接').pack()108 app.mainloop()109

110

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值