python 小说下载工具_Python制作全网小说下载器
基本开发环境
· Python 3.6
· Pycharm
相关模块使用
目标网页分析
输入想看的小说内容,点击搜索
这里会返回很多结果,我只选择第一个
网页数据是静态数据,但是要搜索,是post请求,需要提价data参数,如下图所示:
然后通过解析网站数据,获取第一个小说i的详情页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地址
所有的章节名以及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 h1::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)
h1 = selector.css('.bookname h1::text').get()
content = selector.css('#content::text').getall()
lines = []
for c in content:
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()
显示下载内容
def novel_load(title):
text.insert(END, '正在保存:{}'.format(title))
# 文本框滚动
text.see(END)
# 更新
text.update()
实现效果
python 小说下载工具_Python制作全网小说下载器相关推荐
- python 小说下载工具_python 制作网站小说下载器
基本开发环境 ・ Python 3.6 ・ Pycharm 相关模块使用 目标网页分析 输入想看的小说内容,点击搜索 这里会返回很多结果,我只选择第一个 网页数据是静态数据,但是要搜索,是post请求 ...
- Python 爬虫的工具列表( 附Github代码下载链接)
Python 爬虫的工具列表( 附Github代码下载链接) 这个列表包含与网页抓取和数据处理的Python库 网络 通用 urllib -网络库(stdlib). requests -网络库. gr ...
- 电脑下载工具哪个软件好 电脑下载工具去哪下载
使用电脑办公已成为工作的必须,使用电脑时,我们需要在电脑下载所需的软件.文件等,电脑下载工具自然少不了.电脑下载工具哪个软件好?电脑下载工具有很多,常见的有aria2.4K Video Downloa ...
- python小说下载器_python 制作网站小说下载器
基本开发环境 · Python 3.6 · Pycharm 相关模块使用 目标网页分析 输入想看的小说内容,点击搜索 这里会返回很多结果,我只选择第一个 网页数据是静态数据,但是要搜索,是post请求 ...
- python 项目构建工具_python的构建工具setup.py
一.构建工具setup.py的应用场景 在安装python的相关模块和库时,我们一般使用 "pip install 模块名" 或者 "python setup.py in ...
- python自动化构建工具_Python自动化构建工具scons使用入门笔记
这段时间用到了scons,这里总结下,也方便我以后查阅. 一.安装sconsLinux环境(以CentOS为例) 1.yum安装 yum install scons 2.源码安装 下载scons:ht ...
- python教程app下载地址_Python爬取APP下载链接的实现方法
首先是准备工作 Python 2.7.11:下载python 其中python2和python3目前同步发行,我这里使用的是python2作为环境.Pycharm是一款比较高效的Python IDE, ...
- Windows 10/11 官方下载工具 镜像制作U盘启动盘 快速安装
要制作U盘启动盘用来安装 Win10/11 系统,请先准备一个U盘,且U盘至少有8GB空间.注意:该U盘上 的所有内容都将被删除,制作前请先备份U盘资料. 使用U盘作为安装Win10的介质,最常见的有 ...
- python比较数据工具_Python模拟数据工具哪些比较好用
今天给大家推荐两款基本的Python模拟数据工具:mock和pytest monkeypatch. 为什么要模拟数据? 我们的应用中有一些部分需要依赖外部的库或对象.为了隔离开这部分,我们需要代替这些 ...
- 爬虫python下载视频_Python视频爬虫实现下载头条视频功能示例
本文实例讲述了Python视频爬虫实现下载头条视频功能.分享给大家供大家参考,具体如下: 一.需求分析 抓取头条短视频 思路: 分析网页源码,查找解析出视频资源url(查看源代码,搜mp4) 对该ur ...
最新文章
- Java培训好不好?零基础可以学吗?
- 怎么样重装系统后能使电脑更快?
- linux内核学习之四:进程切换简述
- 强化学习(十五) A3C
- OpenStack Telemetry系统架构及实践
- pcie组raid linux,PCIe 4.0有多强大?组RAID 0阵列之后惊呆了
- 推荐一本学习生信的好书,新手友好,实战性强
- Javascript 钩子机制——开会得出的结论
- powerbi 线性回归_微软Power BI 每月功能更新系列——11月Power BI 新功能学习
- 多个线程交替打印ABC,打印10次
- centos oracle卸载
- [转]Linux下的虚拟光驱和虚拟软驱
- uniapp本地数据库_App/uni-app离线本地存储方案
- 【小程序源码】游戏助手王者荣耀战力查询,游戏扫码登录器等
- raptor流程图赋值语句_用raptor软件画出以下程序的流程图,将结果的截图复制到答题框中...
- 两台电脑大文件传输的详细教程
- Codecademy网学习Python第六天
- “财界奥斯卡”CGMA全球管理会计中国大奖榜单公布
- Lodop 动态加载模板,动态加载数据
- 微软面试题【飞机加油问题】题解