一个简单的python案例,用正则采集小说网站

news2025/2/2 2:53:41

目录标题

      • 前言
      • 尾语

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

使用Python抓取xx阁小说需要用到 requests 库和正则表达式模块 re,下面是一个具体的实现步骤:

1. 首先需要使用 requests 库请求小说的页面

例如:

import requests

url = 'https://*****.com.cn/book/123456/'
response = requests.get(url)
response.encoding = 'utf-8'

在请求后需注意设置编码,否则可能会出现乱码。

python资料、源码、教程\福利皆: 点击此处跳转文末名片获取

2. 获取小说的标题

可以使用正则表达式模块中的 re.findall() 方法,

例如:

import re

title_pattern = re.compile(r'<meta property="og:title" content="(.*?)"/>')
title = title_pattern.findall(response.text)[0]

此处需要用到正则表达式中的捕获组,用来匹配页面上的标题信息。

3. 获取小说的章节列表

也可以使用正则表达式模块中的 re.findall() 方法

例如:

chapter_pattern = re.compile(r'<dd><a href="(.*?)">(.*?)</a></dd>')
chapter_list = chapter_pattern.findall(response.text)

此处的正则表达式用来匹配页面上的章节链接和章节标题信息。

4. 获取每个章节的内容

需要遍历章节列表,并使用同样的方式请求每一个章节的页面并提取相应的内容

例如:

content_pattern = re.compile(r'<div id="content">(.*?)</div>', re.S)
for chapter in chapter_list:
    chapter_url = url + chapter[0]
    chapter_title = chapter[1]
    chapter_response = requests.get(chapter_url)
    chapter_response.encoding = 'utf-8'
    chapter_content = content_pattern.findall(chapter_response.text)[0]
    源码、解答、教程、安装包等资料加V:qian97378免费领
    # 过滤掉内容中的一些无用标签和空格
    chapter_content = chapter_content.replace('&nbsp;', ' ')
    chapter_content = chapter_content.replace('<br/>', '\n')
    chapter_content = chapter_content.replace('<br />', '\n')
    chapter_content = chapter_content.replace('<p>', '')
    chapter_content = chapter_content.replace('</p>', '')
    with open(title + '.txt', 'a', encoding='utf-8') as f:
        f.write(chapter_title + '\n\n' + chapter_content + '\n\n')

此处需要注意的是,章节的内容中可能包含一些无用标签和空格,需要使用字符串的 replace() 方法进行过滤。

在使用正则表达式进行匹配时,还需要注意一些细节,例如正则表达式的贪婪匹配、非贪婪匹配、转义字符等问题。

需要仔细阅读官方文档,并进行实际操作和不断调试,才能够熟练掌握正则表达式的使用方法。

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运维数据(1):谈谈运维数据的8大特征

在这个数据作为市场要素之一的时代&#xff0c;数据已从理念上的资产认同逐步走向实践上的深入行动。单从经济利益上去评定数据的资产化价值&#xff0c;我认为太狭隘&#xff0c;把数据仅仅作为有形物品去交易&#xff0c;价值的发挥未免太过局限。我家那一亩三分地种的红薯&a…

等保——windows终端和服务器测评

一、本文适用于Windows系统&#xff0c;但有些版本不适用&#xff0c;例如win10、win11等&#xff0c;因为没有密码策略模块 二、针对于win7的测评过程 1、winR打开命令行&#xff0c;输入gpedit.msc&#xff0c;打开本地组策略编辑器&#xff08;win10以上版本没有这个模块&…

辅助笔记-linux找回root密码(CentOS7.6)

linux找回root密码(CentOS7.6) 文章目录 linux找回root密码(CentOS7.6)步骤1步骤2步骤3步骤4步骤5 本文主要参考自“韩顺平教育–linux找回root密码.docx”。 步骤1 首先&#xff0c;启动系统进入开机界面&#xff0c;注意在此界面下的5秒之内&#xff0c;使用键盘的上下键使得…

基于SSM+Vue的少儿编程网上报名系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

vue复习

1.mustache动态插值 <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, initial-scale…

刚入暑假,开学季产品销量已抬头

随着入伏&#xff0c;气温进入一年当中最热的阶段&#xff0c;倏忽间&#xff0c;孩子们进入酣畅淋漓的暑假模式已经两周多了&#xff0c;游戏、雪糕和旅行可能都已经尝试过了&#xff0c;或是正在进行&#xff0c;然而&#xff0c;这些都不影响开学季产品如期增长的势头。加上…

智能ai绘画软件帮你用科技点亮创意火花

李明&#xff1a;嘿&#xff0c;你听说过ai绘画软件吗&#xff1f;我最近对数字艺术产生了浓厚的兴趣 王磊&#xff1a;当然&#xff01;ai绘画软件真是太神奇了&#xff01;它可以将抽象的文字描述转换成惊人的艺术作品。 李明&#xff1a;是吗&#xff1f;它们绘制的效果怎…

排序算法的补充

建议先去看看我之前写的基础排序算法 补充一&#xff1a;快排中partition函数的三种实现形式 1.hoare法---与第2种方法类似 int Partition1(int*a,int left,int right) {int keyi left;while (left < right) {while (left < right && a[right] > a[keyi])…

pytest+yaml接口自动化测试框架封装

1. 框架封装基础 以下是框架封装的技术基础&#xff0c;打好这些基础的话&#xff0c;能够很轻松地封装出来框架 对于基础还有欠缺的话&#xff0c;建议针对性精进&#xff1a; 1. 扎实的Python语言基础 函数、类文件读写处理报错数据结构标准库测试框架库&#xff08;unit…

goland设置内置命令行为当前项目环境

goland设置内置的命令行为当前项目环境 修改 GoLand 中的 SSH 终端配置即可

125、仿真-基于51单片机的自行车电动车或者电机数码管控制系统设计(Proteus仿真+程序+原理图+配套资料等)

方案选择 单片机的选择 方案一&#xff1a;STM32系列单片机控制&#xff0c;该型号单片机为LQFP44封装&#xff0c;内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ&#xff0c;在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…

linux守护进程介绍 | Linux的热拔插UDEV机制

简介 udev是一个设备管理工具&#xff0c;udev以守护进程的形式运行&#xff0c;通过侦听内核发出来的uevent来管 理/dev目录下的设备文件。udev在用户空间运行&#xff0c;而不在内核空间 运行。它能够根据系统中的硬 件设备的状态动态更新设备文件&#xff0c;包括设备文件的…

详解Single-Shot Alignment Network (S2A-Net) ,详解AlignConv,基于遥感图像的特征对齐旋转目标检测

引言 目标检测&#xff1a;把图像中的物体使用方框标记起来&#xff0c;不同类别物体应使用不同颜色 目标检测其实是寻找物体边界框(bounding box)回归问题(regression)和对物体分类问题(classification)的统一 遥感目标检测&#xff1a;普通的目标检测是日常生活中的横向的图…

JavasScript基础第一部分

此文章&#xff0c;来源于印客学院的资料&#xff0c;然后补充的。 此文档不一定涵盖了所有知识点&#xff0c;只是一个大概方向&#xff0c;仅供参考。 也算一个查漏补缺&#xff0c;诸君可以根据自己实际情况&#xff0c;自行衡量&#xff0c;看看哪里需要补充。 JavaScri…

【CentOS安装make】

问题&#xff1a; bash: make: command not found 1、去官网查找最新版本 http://ftp.gnu.org/pub/gnu/make/ 查找最新安装包 2、下载解压缩 wget http://ftp.gnu.org/pub/gnu/make/make-4.2.tar.gz tar -zxvf make-4.2.tar.gz cd make-4.2mkdir buildcd build../configure…

度量学习和表征学习

度量学习 定义 计算特征之间的距离&#xff08;特征之间相乘&#xff09;&#xff0c;通过距离损失优化模型——>度量距离相关的损失函数 图片出自《【极市】张宇涵-CVPR2020 Oral&#xff5c;Circle Loss&#xff0c;从统一视角提升深度特征学习能力_哔哩哔哩_bilibili》…

短视频矩阵系统源码搭建--附赠代码

说明&#xff1a;本开发文档适用于短视频矩阵系统源码开发搭建&#xff0c;短视频seo矩阵源码开发搭建&#xff0c;抖音短视频seo源码开发搭建&#xff0c;抖音矩阵系统源码开发搭建等SaaS类产品开发场景。 短视频矩阵系统开发围绕的开发核心维度&#xff1a; 1. 多账号原理开…

shell脚本定时删除大小超200M的日志文件

需求 某个服务器的日志文件随着时间的增长越来越多&#xff0c;我不想自己一个个的删除&#xff0c;但是不删除的话&#xff0c;会很麻烦&#xff0c;万一因为日志文件导致内存满了就麻烦了&#xff01; 实现步骤 1、写好实现的脚本 我要查找>200M的日志文件 find / -typ…

苹果平板电容笔好用吗?第三方apple pencil推荐

自从苹果推出了ipad的电容笔之后&#xff0c;一直在市场上保持着十分火爆的热度&#xff0c;但是因为Apple Pencil的价格太高&#xff0c;一般的消费者根本没有足够预算去入手。所以市场上就不断涌现出了不少可以很好代替Apple Pencil的平替电容笔&#xff0c;并且深受人们的热…

BTY Ecosystem DNS‘s Ideas of DeSoc

In May 2022, Ethereum founder Vitalik Buterin, economist Glen Weyl and Flashbots researcher Puja Ohlhaver jointly released “Decentralized Society: Finding Web3s Soul”. The core idea of this paper is the possibility of creating a decentralized society aro…