使用Python开发小说下载器,不再为下载小说而发愁

【Python】实现一个小说下载器,可以打包成exe(附原码) 闲的无聊,现在没得什么好剧追(你们或许可以给我推荐推荐)朋友都在看小说,那我就来用Python搞一个小说下载器吧顺便打包一下今天的分享到这里就结束了对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦。 阅读详情
有点荒废

这几天有点荒废,之前弃坑的网文《伏天氏》,这几天又给捡起来了。然后一发不可收拾的只想看小说,荒废了我的学习。在这里我要检讨啊.....
像我这样的穷人,看小说肯定是找免费的网站,可不管手机还是电脑,免费网站充斥着各种的广告和链接。想找个小说txt下载的,找了半天的找不到,生气的我决定,自己拿python撸一个小说下载器!走起....

需求分析

免费的小说网比较多,我看的比较多的是笔趣阁。这个网站基本收费的章节刚更新,它就能同步更新,简直不要太叼。既然要批量下载小说,肯定要分析这个网站了....


5847426-737f33c98c4971e5.png
笔趣阁网站

在搜索栏输入地址后,发送post请求获取数据,然后根据url解析,模拟操作即可。打开Fiddler,chrome搜索一下伏天氏,然后看看抓取到的日志流:


5847426-dec774ece0e7ae56.png
Fiddler日志
代码实现

在我们开始编码前,先得看下parameters中的这几个参数。
searchkey是什么鬼?
这是因为在因特网上传送URL,只能采用ASCII字符集。所以当传输中文时,有些网站会将中文进行编码后传输,再通过后台解码。那在python中该怎么做呢:

from urllib.parse import quote
quote('伏天氏')
'%E4%BC%8F%E5%A4%A9%E6%B0%8F'
# 为什么和Fiddler显示字符串不一样?
# 因为这个网站使用的gbk编码...
# 按照下面这样操作即可
quote('伏天氏',encoding='gbk')
'%B7%FC%CC%EC%CA%CF'

ct又是什么鬼?
我不知道,开始以为是临时参数,但试了好几次都是一样的,最后算了下:
102410242 = 2091752 ...应该是网站那里需要进行限制的吧..

剩下的两个参数照着写就行了,先来一段代码测试下:

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @JianShu  : 清风Python
# @Date     : 2019/6/30 23:51
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : a.py

import requests
from urllib.parse import quote

session = requests.session()

headers = {"User-Agent": ("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 "
                          "(KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36")
           }
url = ('http://www.biquge.cm/modules/article/sou.php?'
       'searchkey=%s&ct=2097152&si=biquge.cm&sts=biquge.cm') % quote("伏天氏", encoding='gbk')
result = session.post(url, headers=headers)
result.encoding = 'gbk'
print(result.text)

5847426-48bf813a40d3c144.png
小说获取

查看下结果,一切ok。标红这个id='list'是因为,当找不到小说的时候,就定位不到这个元素了。所以可以用来判断返回结果。解析url,然后获取所有的a标签text以及href和首页进行拼接,就可以实现跳转至每章内容了...
那么要使用requests+beautifulsoup进行二连击?No...上周五咱们说了requests_html这个模块,接着复习下呗....代码片段说明下:

from urllib.parse import  urljoin
# 根据url获取所有章节标签
response = self.post_method(post_url)
novel_data = response.html.find('#list a')
for chapter in novel_data :
    chapter_name = chapter.text
    chapter_url = urljoin(self.URL, chapter.attrs['href'])

这里注意下,url的拼接,如果你很闲可以自己写,如果你懒,直接使用urljoin即可。
每章内容的定位比较简单,就不再赘述了。

人性化下载

要想产品做得好,首先需要在需求分析的时候有亲身的体验与调研。
作为多年书虫,对于书友们太了解了,很多人看小说都会有养书的习惯,攒上个几十章,然后一次看个够。
完了再换其他的小说接着看,等攒够了再来刷。
按照咱么这样每次去通篇下载,不仅浪费时间也太不人性化了....
所以,增加了如下方式:


5847426-de6cd730bc9dbf0b.png
下载示例

看到这些参数大家因该知道了,没错,使用列表切片进行动态下载!

打包exe使用

代码写完了,但是每次下载都要让大家在Python环境下进行使用,未免太麻烦了吧?
通过pyinstaller将代码进行打包成exe的可执行文件。你可以在任意的电脑上直接使用。
ps:因为是咱们自己打包的exe,所以杀软获取不到证书,多数会误报....添加信任或者临时关闭一下杀软即可。
伏天氏我中午看到了1130多章,那我下载最近50章给大家演示下exe的使用吧:

5847426-c982d31f8b09b140.gif
清风Python小说下载器.gif

怎么样,exe的使用大家还满意吗?赶紧发了文章,吧下载的文本导到手机,接着啃剩下的章节了....
至于之前发了几次的文章转语音,为什么不用?
看小说的都知道,其实就图乐子....基本都是一目十行,指望百度API的语音,读到猴年去了。
另外,其实文本转语音的工具太多了,我平时使用的比较多的就是搜狗搜索和多看阅读。
导入文本后,直接能生成章节目录,调用讯飞语音的方茴,读起来比百度API的萝莉音舒服很多。
截几张图给大家看看刚才咱们下载的文本导入效果:
5847426-47d18b9a57899598.png
image.png

5847426-39f36aec3f010915.png
image.png

狂拽炫酷叼炸天!哈哈.....

The End

今天的文章就分享到这里,不知道这波福利大家是否满意呢?
为了避免不必要的纠纷,公众号内部回复小说,即可获取exe的下载地址....
说明:次工具仅作为Python学习用途,请勿用于其他不正当途径,谢谢。
OK,今天的内容就到这里,如果觉得有帮助,欢迎将文章或我的微信公众号【清风Python】分享给更多喜欢python的人,谢谢。

小说下载器V1.0 小说下载器V1.0 小说获取部分 ​ 小说来源我选择的是全本小说网,本来想的是多选择几个小说源,不过有点麻烦,就留到以后在添加吧。 小说列表获取 这个网站要找到想要的小说只能通过图中的搜索栏,通过观察,搜索结果页的网址构成是有规律的: ‘https://www.qb5.tw/modules/article/search.php?searchkey=’+编码后的关键字,为了将其编码,编写以下函数: def str_encode(str): return urllib.parse.quote(st 阅读详情

相关推荐

Python实现小说下载器,可以打包exe

闲的无聊,现在没得什么好剧追(你们或许可以给我推荐推荐)朋友都在看小说,那我就来用Python搞一个小说下载器吧顺便打包一下

kakA的博客 3219

如何使用Python编写一个简单的网页小说下载器

本文介绍了如何使用Python的requests库和BeautifulSoup库编写一个简单的网页小说下载器。下载器首先访问小说的主页,解析出所有的章节链接,然后访问每个章节链接并解析出内容,最后将章节内容保存到本地文本文件中。然而,这个脚本可能需要根据特定网站的结构进行调整。同时,读者需要注意遵守网站的服务条款,确保爬取和下载行为的合法性。

苏呆仔知识馆 1252

【Python项目】Python基于tkinter实现笔趣阁小说下载器(附源码)

hello,大家好呀~笔趣阁小说应该很多小伙伴都知道但是用Python实现一个笔趣阁小说下载器那岂不是爽歪歪呀基于tkinter实现的Python版本的笔趣阁小说下载器今天小编给大家实现了部分重要代码已经在上方给大家展示出来了

weixin_72934044的博客 2003

Python实战之小说下载神器(一)看小说怎么能少了这款宝藏神器呢?全网小说书籍随便下,随便看,爆赞(你准备好了吗?)

这次的是一个系列内容给大家讲解一下何一步一步实现一个完整的实战项目案例系列之小说下载神器(GUI界面化程序)我是爱看小说的栗子同学。按照一定的规则, 去采集互联网上面数据。最后,栗子温馨提示,对于看小说。各位小伙伴要取之有度,用之有节吖!万不可沉溺于小说哦!(白天看晚上看熬夜看不可取啦)可能说的就是我 23333。

xy258009的博客 3265

双参数威布尔分布(Weibull分布)参数计算(根据故障数据,求双参数威布尔分布的参数详细步骤)

根据故障数据求威布尔分布参数步骤 根据众多文献研究,设备故障数据大多服从指数分布、威布尔分布或对数正态分布。其中威布尔分布较为常用,本文主要介绍威布尔分布的简单应用,并根据某设备故障数据为例简单介绍威布尔分布参数的计算方法。 参考文献11参考文献22 1.双参数威布尔分布的概率密度函数、概率分布函数、可靠度函数: 2.预处理故障数据 将故障数据按时间排序,假设设备分别在以下时间点失效:11.1 、23.5、58.4……则将此时间从小到大排序。并计算中位秩。中位秩的计算公式如下: 其中i表示第几个数据,n

biaochengxiaobai的博客 4万+

WGCNA分析中那些没人告诉你的坑:以肺结核差异基因模块筛选为例

本文深入探讨WGCNA分析在肺结核差异基因模块筛选中的七个关键陷阱,包括soft-thresholding选取、样本离群值检测、模块合并阈值调整等。通过实际案例和R代码示例,揭示生信数据挖掘中常被忽视的技术细节,帮助研究者避免常见错误,提升分析结果的可靠性和生物学意义。

weixin_29218509的博客 261

用Python做一个小说下载器,从获取数据到编写GUI界面

对于广大书虫而言,没有小说看是最痛苦的,你身边有这样的人吗? 今天咱们分享一个小说下载器代码,打包成exe后,发给你的小伙伴也能直接使用...

人生苦短, 还不用Python? 1616

3D Slicer-最强大的开源医学图像分割工具简要概述

3D Slicer 是一个免费的开源软件平台,用于医学、生物医学和其他 3D 图像的可视化、处理、分割、配准和分析。读/写DICOM图像和多种其他格式;三维图像、多边形网格和体积渲染的交互式可视化;手动编辑和标记图像;使用刚性和非刚性算法融合和共同配准数据;图像自动分割;跟踪图像引导程序的设备。所有的功能模块可在工具栏里找到,提供搜索,下拉选择,左右切换等功能。3D slicer的大概情况就介绍到这里。它的功能非常强大,也没有必要说掌握每个功能的使用。

Tina姐的博客 2万+

记一次用Python实现免费小说下载器

目前很多免费小说都不支持下载文章,为了方便在mp4中或一些离线设备刷小说,为此小编写了一个简单下载器(

m0_74485250的博客 569

【GAN】pytorch-CycleGAN-and-pix2pix开源项目训练自定义数据集

Github:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 一、概念简介 图像转换:将一张图片转换为不同风格的图片,如将一张灰度图变成彩色图,素描图换成实物图。 pix2pix:需要成对的数据集,两个不同域的图像一一对应。 CycleGAN:不需要成对的数据集,只用两个不同域(domain)的图像集合X和Y,两个集合中的图像不是一一对应的。 二、训练pix2pix模型 2.1 combine_A_and_B datasets/combin

See_Star的博客 4756

# YOLOv11-seg改进系列 | 引入CVPR MetaFormer的C3k2_PoolingFormerCGLU模块,池化Token混合+CGLU门控MLP

本文引入 CVPR 2022 论文(MetaFormer/PoolFormer)提出的 MetaFormer 元架构设计,以Pooling Token 混合器 + ConvolutionalGLU(CGLU)MLP构成,将其封装为,用于替换 YOLOv11-seg 的 C3k2 块。对比维度C3k2(基线)C3k2_PoolingFormerCGLU(本文)参数量(n scale)2.46M≈2.49M9.6≈9.69.7(+1.0%)架构范式单阶段卷积MetaFormer 双阶段。

qq_44224801的博客 845

python编程免费小说_使用Python开发小说下载器,不再为下载小说而发愁

有点荒废这几天有点荒废,之前弃坑的网文《伏天氏》,这几天又给捡起来了。然后一发不可收拾的只想看小说,荒废了我的学习。在这里我要检讨啊.....像我这样的穷人,看小说肯定是找免费的网站,可不管手机还是电脑,免费网站充斥着各种的广告和链接。想找个小说txt下载的,找了半天的找不到,生气的我决定,自己拿python撸一个小说下载器!走起....需求分析免费的小说网比较多,我看的比较多的是笔趣阁。这个网站...

weixin_39663593的博客 289

YOLO系列算法改进 | C3k2改进篇 | 融合DFRL双融合注意力接收层 | 轻量化与全局感受野双突破,适应高分辨率航拍与密集小目标检测场景 | CVPR 2026

YOLO系列算法改进 | C3k2改进篇 | 融合DFRL双融合注意力接收层 | 轻量化与全局感受野双突破,适应高分辨率航拍与密集小目标检测场景 | CVPR 2026 (以YOLO26最新目标检测模型为基础,利用C3k2_DFRL创新模块进行改进)

2502_91881744的博客 233

使用Python开发小说下载器,不再为下载小说而发愁 #华为云·寻找黑马程序员#

需求分析 免费的小说网比较多,我看的比较多的是笔趣阁。这个网站基本收费的章节刚更新,它就能同步更新,简直不要太叼。既然要批量下载小说,肯定要分析这个网站了… 在搜索栏输入地址后,发送post请求获取数据,然后根据url解析,模拟操作即可。打开Fiddler,chrome搜索一下伏天氏,然后看看抓取到的日志流: 代码实现 在我们开始编码前,先得看下parameters中的这几个参数。 s...

华为云官方博客 3115

运行后选择GDB/LLDB出现这样的窗口:launch: program ‘输入程序名称,例如 D:\Desktop\新建文件夹\a.exe‘ does not exist...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1129

在Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)

TinyWebServer是个什么项目?它是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用线程池+非阻塞socket+epoll(ET和LT均实现) +事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态。......

AnChenliang_1002的博客 3021

使用Python开发小说下载器,不再为下载小说而发愁 #华为云·寻找黑马程序员#...

需求分析 免费的小说网比较多,我看的比较多的是笔趣阁。这个网站基本收费的章节刚更新,它就能同步更新,简直不要太叼。既然要批量下载小说,肯定要分析这个网站了… 在搜索栏输入地址后,发送post请求获取数据,然后根据url解析,模拟操作即可。打开Fiddler,chrome搜索一下伏天氏,然后看看抓取到的...

zhy_Learn的博客 57

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【免费下载】 番茄小说下载器使用教程

番茄小说下载器是一个开源项目,旨在帮助用户下载番茄小说网上的小说。该项目通过Python实现,支持多种操作系统,并提供本地程序、Web版和手机版等多种使用方式。用户可以根据自己的需要选择合适的下载方式,享受便捷的小说下载服务。 ## 2. 项目快速启动 ### 本地程序启动 1. 克隆项目到本地: ```bash git clone https://github.com/yin...

gitblog_00791的博客 4519

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

使用tkinter打造一个小说下载器,想看什么小说,就下什么

前言 今天教大家用户Python GUI编程——tkinter打造一个小说下载器,想看什么小说,就下载什么小说 先看下效果图 Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口。 作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用..

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 1216

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Python爬虫(四)——小说下载器

既然我们之前已经讲了BeautifulSoup的使用,那么我们今天就来实战下,用BeautifulSoup解析小说网站,做一个小说下载器; 首先,先分析一下网站: 我们的目标是一个叫全小说的网站:https://qxs.la/ 我们可以看见右上角的位置有一个搜索框,我们可以将想要搜索的关键词键入,然后搜索我们想要的内容,我们来分析下这个网站的结构; 我们在搜索框输入“唐家三少”,看看网页会...

geeknuo的博客 4271

番茄小说下载器完整使用指南:5种格式+3种方法轻松保存小说

还在为网络不稳定而无法畅读番茄小说烦恼吗?**番茄小说下载器**正是你需要的解决方案!这款开源工具能够将番茄小说平台上的精彩内容永久保存到本地,支持多种格式输出,让你随时随地享受阅读乐趣,不再受网络限制。无论是整本小说下载还是分章节保存,这款工具都能满足你的不同需求。 ## 📚 项目简介与核心价值 **番茄小说下载器**是一款功能强大的开源工具,专门用于下载和保存番茄小说平台上的内容。通过这

gitblog_00224的博客 1299

番茄小说下载器项目完整使用教程

番茄小说下载器是一个功能强大的开源工具,可以帮助读者下载和保存番茄小说平台上的小说内容。该项目支持多种下载格式和丰富的自定义选项,让用户可以灵活地管理自己的小说收藏。 ## 项目概述 番茄小说下载器由Python开发,提供了本地命令行版本和Web版本两种使用方式。项目采用模块化设计,支持多线程下载、断点续传、多种输出格式等功能。 ## 项目结构 ``` fanqienovel-downlo

gitblog_00129的博客 2289
上一篇: 爬虫新宠requests_html 带你甄别2019虚假大学
下一篇: 大型情感剧集Selenium:6_selenium中的免密登陆与cookie操作
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值