使用python多线程下载网络小说并结合calibre制作电子书
之前的教程里有写过python爬取小说的代码,但如果小说字数很多,爬起来会比较耗时。此时需要结合多线程来加快爬取速度。
代码如下:
import requests
from lxml import etree
import threading#lock
lock = threading.Lock()
def downloads():url = 'https://www.******.net/daomu/guichuideng' #获取链接#伪装headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'}lock.acquire() #进程加锁#发送请求resp = requests.get(url, headers=headers)resp.encoding = 'utf-8'#print(resp.text)#信息筛选e = etree.HTML(resp.text)links = e.xpath('//ul/li/a/@href') #页面所有章节的链接for i in range(len(links)):resp2 = requests.get(links[i], headers=headers) #分别对每一章进行下载resp2.encoding = 'utf-8'e2 = etree.HTML(resp2.text)volume = e2.xpath('//div[@class="info"]/a/text()')[0] #每一卷的名字print(volume)title = e2.xpath('//h1/text()')[0] #每章标题info = e2.xpath('//div[@class="neirong"]/p/text()') #每章内容print(title)info_2 = '\n'.join(info) #info为列表,转为str字符串with open('鬼吹灯.txt', mode = 'a', encoding='utf-8') as f:f.write('#'+volume+'\n'+'##'+title+'\n'+info_2+'\n\n')lock.release()if __name__ == '__main__':download_1 = threading.Thread(target=downloads)download_1.start()
通过在calibre里设置目录级别:一个#的对应h1级, 2个#对应h2级,再添加一个封面,就可以得到一本有目录可以自动跳转的电子书了
使用python多线程下载网络小说并结合calibre制作电子书相关推荐
- Python多线程下载网络URL图片的方法
Python多线程下载网络URL图片的方法 采用多线程的方法,通过URL地址,下载资源图片 GitHub地址:https://github.com/PanJinquan/python-learning ...
- Python多线程下载有声小说
有经验的老鸟都(未婚的)会在公司附近租房,免受舟车劳顿之苦的同时节约了大把时间:也有些人出于某种原因需要每天披星戴月地游走于公司与家之间,很不幸俺就是这其中一员.由于家和公司离得比较远,我平时在公交车 ...
- python 小说下载_Python下载网络小说实例代码
看网络小说一般会攒上一波,然后导入Kindle里面去看,但是攒的多了,机械的Ctrl+C和Ctrl+V实在是OUT,所以就出现了此文. 其实Python我也是小白,用它的目的主要是它强大文本处理能力和 ...
- [工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地
本人大四即将毕业的准程序员(JavaSE.JavaEE.android等)一枚,小项目也做过一点,于是乎一时兴起就写了一些工具. 我会在本博客中陆续发布一些平时可能会用到的工具. 代码质量可能不是很好 ...
- python多线程下载小姐姐图片
python多线程下载小姐姐图片 闲谈 思路 实现过程 单线程实现代码功能 问题描述 多线程处理办法 完成效果 闲谈 今日闲来无事,翻看博客,看到一篇关于python自动下载图片的文章,就萌生了也写一 ...
- python多线程下载大文件_Python threading多线程断点下载文件的方法
这是玩蛇网一篇关于Python多线程下载文件方法的代码实例.文中应用到的python模块和方法有httplib.Python urllib2.Python threading多线程模块.python ...
- 完全小白篇-使用Python爬取网络小说
完全小白篇-使用Python爬取网络小说 一.找一个你要爬取的小说 二.分析网页 网页的展示方式 需要用到的库文件 三.向网站发送请求 四.正则提取 五.跳转的逻辑 六.后续处理 七.保存信息进入do ...
- Python 多线程下载图片
多线程下载图片 参考链接: Python标准库-urllib和urllib3 urllib实战2–urllib基础urlretrieve().urlcleanup().info().getcode() ...
- 用Python编写自动下载网络小说的脚本
很多网站都有长篇连载或是分章节的小说可供在线阅读,但如果想要将所有章节下载下来并整理成一个格式良好的文本文件,则是很费功夫的.幸好可以用Python脚本来自动完成所有的工作.下面的两个脚本,将用来演示 ...
最新文章
- 如何用最强模型BERT做NLP迁移学习?
- java基础学完就直接学ssm_java基础学习笔记3(SSM基础)
- Bitmap之位图采样和内存计算详解
- eclipse java 运行快捷键_java – 可以使用Eclipse中的键盘快捷方式启动/停止Tomcat吗?...
- LeetCode 2109. 向字符串添加空格
- python爬虫模拟浏览器的两种方法_python爬虫模拟浏览器访问-User-Agent过程解析
- 在死循环中使用Scanner获得键盘输入
- 外国谷歌服务器练中国无线,易观:中国无线搜索市场百度谷歌份额超50%
- 电子相册系统(三)使用技术
- 有生成的日志的监控电脑性能的软件吗_全链路监控:方案概述与对比,看完你就懂...
- 算法:剑指 Offer 06. 从尾到头打印链表
- 安卓内录声音软件scr_高清录屏大师app下载-高清录屏大师app安卓版下载v3.0.0.23 - 非凡软件站...
- 带你玩转 Visual Studio——带你跳出坑爹的 Runtime Library 坑
- delete与垃圾回收机制
- C语言源代码转变为可执行程序的过程
- Flask 学习-22.可插拨视图MethodView类
- 如何在Windows 11上的WSL2做到GPU直通,并用Deepracer本地训练炸干电脑的资源(显卡降价了,618等等党还等什么,一起来加入Deepracer的比赛学习交流吧)
- RAVDESS语音情感分类数据集的介绍
- Linux下搭建FTP服务器教程
- 【转】智能合约灵活升级