python 制作网站小说下载器
基本开发环境
·Python3.6
·Pycharm
相关模块使用
目标网页分析
输入想看的小说内容,点击搜索
这里会返回很多结果,我只选择第一个
网页数据是静态数据,但是要搜索,是post请求,需要提价data参数,如下图所示:
然后通过解析网站数据,获取第一个小说i的详情页url即可
静态网页的获取,难度是不大的。
defsearch(): 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('.evena::attr(href)').extract_first()
1、获取每本小说的章节名以及url地址
所有的章节名以及url地址,都包含在dd标签里面
2、获取url后,需要拼接
'/23/23019/11409705.html'#这是网页获取到的url 'http://www.xbiquge.la/23/23019/11409705.html'#这是真实的小说章节内容url地址
3、小说名字,直接获取即可。
defdownload_one_book(index_url): response=get_response(index_url) response.encoding=response.apparent_encoding sel=get_parsing(response.text) book_name=sel.css('#infoh1::text').get() #提取了所有章节的下载地址 urls=sel.css('#listdda::attr(href)').getall() #不要最新的12章放在最前main forurlinurls: chapter_url='http://www.xbiquge.la'+url print(chapter_url)
保存下载每章小说内容
defdownload_one_chapter(chapter_url,book_name): response=get_response(chapter_url) response.encoding=response.apparent_encoding html=response.text selector=get_parsing(html) h1=selector.css('.booknameh1::text').get() content=selector.css('#content::text').getall() lines=[] forcincontent: lines.append(c.strip()) print(h1) text='\n'.join(lines) file=open(book_name+'.txt',mode='a',encoding='utf-8') file.write(h1) file.write('\n') file.write(text) file.write('\n') file.close()
小说软件界面
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()
显示下载内容
defnovel_load(title): text.insert(END,'正在保存:{}'.format(title)) #文本框滚动 text.see(END) #更新 text.update()
实现效果
以上就是python制作网站小说下载器的详细内容,更多关于python小说下载器的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。