关于我用python下载两千四百四十四章保存txt这件事。。。

news/2024/11/26 22:16:51/

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

女同事最近迷上了一本书

但她又不想下载软件,就想要我给你下载成txt慢慢看

一看章节,两千四百四十四章,这我能答应嘛?

、

面对美女小姐姐的请求,我当场表示:锻炼技术嘛~这事我熟,马上就给你下载下来

开发环境:

  • python 3.8 运行代码

  • pycharm 2022.3 辅助敲代码

  • requests 发送请求模块

代码实现:

  1. 发送请求

  2. 获取数据

  3. 解析数据

  4. 保存数据

代码展示

import requests     # 发送请求的模块 第三方的模块 需要额外安装
import reurl = 'https://****/book_2700/1556861.html'
# 1. 发送请求
response = requests.get(url)
# 2. 获取数据
html_data = response.text
# 3. 解析数据 提取数据内容
#   结构化数据   json数据
#   非结构化数据 网页源代码
#       css/xpath/re
# https://.*html
# <br><br>.*?</div>
text = re.findall('<br><br>(.*?)</div>', html_data)[0]
text = text.replace('<br />', '\n')
text = text.replace('&nbsp;', ' ')
# 4. 保存数据
open("第二章.txt", mode='w', encoding='utf-8').write(text)

更多精彩请点击文末名片解锁噢~

括展小知识

什么是re(正则表达式).*?

搜索功能的 更高级的一个用法

在正则里面 . 可以去代表一个字符

*: 匹配前面表达式 0次或者多次

.*: 需要匹配 一个字符 n次 贪婪匹配

?: 非贪婪匹配符

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇


http://www.ppmy.cn/news/75009.html

相关文章

由浅入深Netty协议设计与解析

目录 1 为什么需要协议&#xff1f;2 redis 协议举例3 http 协议举例4 自定义协议要素4.1 编解码器4.2 什么时候可以加 Sharable 1 为什么需要协议&#xff1f; TCP/IP 中消息传输基于流的方式&#xff0c;没有边界。 协议的目的就是划定消息的边界&#xff0c;制定通信双方要…

ServerBoss:国产免费的Linux连接工具,服务器管理工具

在这个数字化时代&#xff0c;Linux正在成为越来越多企业的首选操作系统。但是&#xff0c;由于它复杂的命令行界面和复杂的文件系统&#xff0c;许多用户可能会认为Linux不太友好和难以驾驭。同时目前大部分Linux连接工具都是国外产品&#xff0c;且需要商业授权。在此背景下&…

Redis在线数据迁移工具redis-migrate-tool详解,轻松实现redis集群之间的数据同步

目录 redis-migrate-tool 简介 git地址 github: gitee: 特点 redis-migrate-tool安装 使用redis-migrate-tool进行迁移 rmt_redis.c:6446 ERROR: Can’t handle RDB format version 错误解决方案 redis-migrate-tool 命令详解 rmt.conf详解 source和target common …

〖Web全栈开发③〗—HTTP协议和静态web服务器

HTTP协议和静态web服务器 &#xff08;一&#xff09;三次握手和四次挥手&#xff08;二&#xff09;HTTP协议2.1 HTTP协议的定义2.2 HTTP协议的组成 &#xff08;三&#xff09;搭建python自带静态web服务器3.1 静态web服务器是什么3.2 如何搭建python自带的静态web服务器3.3 …

Android 创建线程源码分析 JavaThreadNativeThread

前言 本文分析在Android中创建线程时候的源码分析,即JavaThread和NativeThread。 java/lang/Thread.java art/runtime/native/java_lang_Thread.cc art/runtime/thread.cc 两种Java Thread 有两种可以运行Java代码的线程。有两种情况: 通过new Thread创建的java线程在Nati…

这是关于“树先生“的故事

《数据结构专栏》 文章目录 《数据结构专栏》一、认识树结构如何遍历树如何创建一个树&#xff1f;如何判断一颗树是否是完全二叉树&#xff1f; 二、树的简单算法——递归1.相同树2.镜像树3.单值二叉树 总结 一、认识树结构 树的定义&#xff1a;树是指由N&#xff08;N>0…

Ink Detection

EfficientNet-B5、MIT-B5和ResNet3D 在字迹检测中,每个backbone的效果取决于具体的应用场景、数据集和任务要求。EfficientNet-B5、MIT-B5和ResNeXt50_32x4d都是在图像分类任务中表现出色的backbone模型,而ResNet3D则主要用于视频分类和动作识别任务。因此,从字迹检测的角度…

【初识C语言】数组

【初识C语言】数组 一.一维数组1.什么是数组1.一维数组的创建和初始化1.数组如何创建2.数组如何初始化3.用sizeof来求数组的长度 2.一维数组的使用3.一维数组在内存中的存储方式 二. 二维数组1,什么是二维数组2.二维数组的创建3.二维数组的初始化4.二维数组的使用5.二维数组在内…