当前位置: 首页 > news >正文

Python带你一键下载到最新章节,不付费也能看

前言

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


完整源码、素材皆可点击文章下方名片获取此处跳转


开发环境:

  • python 3.8 运行代码

  • pycharm 2022.3 辅助敲代码

  • requests 发送请求/第三方模块

模块安装:win + R 输入cmd 输入安装命令 pip install 模块名

如果出现爆红 可能是因为 网络连接超时 切换国内镜像源

案例基本思路流程:

一. 思路分析

找到数据来源 如何去采集单个章节的内容

如果是动态加载的数据 通过network去抓包分析

二. 代码实现

  1. 发送请求 通过代码的方式去访问 网站

  2. 获取数据 访问完网址之后 反应 网页代码

  3. 解析数据 提取我们需要用到的信息

  4. 保存数据 打包带走

代码展示

导入模块

import requests     # 发送请求
import re

请求链接

main_url = 'https://****/book_8227/'

换一个章节 下载 ?

只需要获取到所有的章节链接 是不是我们就可以拿到整本小说的内容

html = requests.get(main_url).text
# <dd><a href="(.*?)">.*?</a></dd>
# <dd><a href="(.*?)">.*?</a></dd>
link_list = re.findall('<dd><a href="(.*?)">.*?</a></dd>', html)
for link in link_list:

如何去采集整本小说 / 代码能够实现小说下载通用性

    url = main_url + link

1. 发送请求

    response = requests.get(url)

2. 获取数据

<Response [200]>: 请求成功

    html_data = response.text

3. 解析数据

结构化数据 : json数据 {"":"", "":""} 转成 字典 使用字典取值 / re正则表达式

非结构化数据 : 网页源代码 css/xpath/re

什么是正则?

规则 搜索功能的高级用法

我忘记这中间是什么内容, 也不知道有多长, 还是想要匹配到这一整句话在内容当中出现的位置

.*?: 匹配任意字符 0次或者多次

少女年龄不过十四左右,.*?,不过那张稚气未脱的小脸

    title = re.findall('<h1>(.*?)</h1>', html_data)[0]text = re.findall('<br><br>(.*?)</div>', html_data)[0]

&nbsp; 代表一个空格

    text = text.replace('&nbsp;', ' ')

<br /> 代表一个换行

    text = text.replace('<br />', '\n')text = title + "\n\n\n" + textprint(text)

4. 保存数据

a: 追加写入

w: 覆盖写入

    f = open('斗破苍穹.txt', mode='a', encoding='utf-8')f.write(text)f.close()


尾语 💝

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

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

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

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

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

http://www.lryc.cn/news/42741.html

相关文章:

  • 【sentinel】熔断降级规则详解及源码分析
  • ffplay源码分析-main函数入口分析
  • C++三种继承方式
  • 【Android -- 软技能】《软技能:代码之外的生存指南》之好书推荐(一)
  • Nginx可视化管理工具 - Nginx Proxy Manager
  • https是如何保证安全的
  • ubuntu下使用GCC开发单片机的过程
  • 人工智能能否取代软硬件开发工程师
  • BPI-R3开发板 - uboot编译
  • 优秀程序员的5个特征,你在第几层?
  • JAVA Session会话 Thymeleaf - 视图模板技术配置步骤
  • Linux编译cpprestsdk库
  • 算法的时间复杂度和空间复杂度
  • 基本认识vue3
  • HTTP/HTTPS协议认识
  • 【VScode】远程连接Linux
  • QT/C++调试技巧:内存泄漏检测
  • 【贪心算法】一文让你学会“贪心”(贪心算法详解及经典案例)
  • 【字体图标iconfont】字体图标部署流程+项目源码分析
  • 2023最全的Web自动化测试介绍(建议收藏)
  • jvm_根节点枚举安全点安全区域
  • fabric(token-erc-20链码部署)
  • C语言基础——流程控制语句
  • WinForm | C# 界面弹出消息通知栏 (仿Win10系统通知栏)
  • 刷题之最长公共/上升子序列问题
  • 【数据结构】千字深入浅出讲解栈(附原码 | 超详解)
  • 自动驾驶V2X
  • 零基础自学网络安全/渗透测试有哪些常见误区?
  • ConvMixer:Patches Are All You Need
  • day10—编程题