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

简单爬一个小说页面 HTML 的title和内容

1、请求接口-->url、头部,get获取

2、re.search(r"<title>(.*?)</title>").group(1)

        (.*?)去匹配 网页标签内 的内容

        group(1),捕获(.*?)的内容

r"<title>(.*?)</title>"        r'<title id="123">(.*?)</title>'

如果标签内存在双引号,则r要使用单引号

re库        正则表达式模块

3、content.repalce('<p>', '\n', html)

提取出来的内容存在标签,可以使用replace()方法,将标签内容替换成想要的效果

4、

将内容写入到txt文件中

import re
import requests# 请求,获取text
def get_res(url, header):return requests.get(url, headers=header).text# 获取数据
def get_data(html):'''从html中提取数据:param html: HTML数据:return: 标题 内容'''title = re.search(r"<title>(.*?)</title>", html).group(1)# 需要转义[1.35] ---> \[1.35\]page = re.search(r'<h1 class="title text-1.3em text-s-gray-900 leading-\[1.35\] font-medium break-all wrap-word inline-block r-font-black-medium" data-v-f233f990>(.*?)</h1>', html).group(1)# print(title)# print(page)content = re.search(r'<main id="c-23808826" data-type="cjk" class="content mt-1.5em text-s-gray-900 leading-\[1.8\] relative z-0 r-font-black" data-v-f233f990>(.*?)</main>', html).group(1)# 将</p>替换换行处理,<p>替换空格处理content = content.replace('</p>', '\n').replace('<p>', '')# print(content)return title, page, content# 保存到txt文件
def save_txt(title, page, content):with open(f"{title}.txt", 'w', encoding = "UTF-8") as f:f.write(page + '\n')f.write(content)# 主方法
def main():# 请求参数url = "https://www.qidian.com/chapter/1264634/23808826/"header = {"Cookie" : "supportwebp=true; newstatisticUUID=1756714163_2142352094; _csrfToken=NVS3WyVwWW5ttGLBkag2uKm0QXG2N2sSu5vZMIIW; fu=1203733242; Hm_lvt_f00f67093ce2f38f215010b699629083=1756714109; HMACCOUNT=9EDCE41745AC7FA6; supportWebp=true; abPolicy=0; traffic_utm_referer=https%3A%2F%2Fwww.baidu.com%2Flink; traffic_search_engine=; se_ref=; Hm_lpvt_f00f67093ce2f38f215010b699629083=1756715830; w_tsfp=ltvuV0MF2utBvS0Q7KzulU6mFT0ncjs4h0wpEaR0f5thQLErU5mA14F7u8PzNXHW58xnvd7DsZoyJTLYCJI3dwNHR83CIYAX3wvGxolwiolGARQ0Q5+PWlFMJLx9uGEVf3hCNxS00jA8eIUd379yilkMsyN1zap3TO14fstJ019E6KDQmI5uDW3HlFWQRzaLbjcMcuqPr6g18L5a5T3c5FutfVl9Bu5E2BTAhC4dDn4k5BC7IO9eMhutI86pSqA=","user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36","upgrade-insecure-requests" : "1"}# 发送请求获取响应html = get_res(url, header)# print(html)# 获取数据title, page, content = get_data(html)# 存放数据并输出save_txt(title, page, content)if __name__ == '__main__':main()


文章转载自:

http://e4Nx5SpJ.zLxkp.cn
http://S0hXav4K.zLxkp.cn
http://8PGwki4R.zLxkp.cn
http://VEznNu9t.zLxkp.cn
http://6LiXRg6u.zLxkp.cn
http://PKzQawBN.zLxkp.cn
http://4eTYHUhy.zLxkp.cn
http://desIpiVK.zLxkp.cn
http://RQw9TLM4.zLxkp.cn
http://IbEON0nV.zLxkp.cn
http://Etr3gQBR.zLxkp.cn
http://SLvSUvvb.zLxkp.cn
http://6YRTWIZ2.zLxkp.cn
http://BHeB2wYS.zLxkp.cn
http://GhqBsxuJ.zLxkp.cn
http://frJy4qFK.zLxkp.cn
http://bCSwT2aN.zLxkp.cn
http://Jnksrg8a.zLxkp.cn
http://aUGxDUUm.zLxkp.cn
http://gs6Otu04.zLxkp.cn
http://Dxiiupjy.zLxkp.cn
http://P2NusDsq.zLxkp.cn
http://KtgnhsZ1.zLxkp.cn
http://28h9dAAA.zLxkp.cn
http://L1mV3Wyh.zLxkp.cn
http://VFTBAwGJ.zLxkp.cn
http://SJkbbevf.zLxkp.cn
http://eoM0FyvZ.zLxkp.cn
http://a2S8V690.zLxkp.cn
http://oZK9nFoe.zLxkp.cn
http://www.dtcms.com/a/363270.html

相关文章:

  • Python生成Excel
  • 点燃汽车电子与高端制造的“合规·高效·智能”引擎—— 全星研发项目管理软件系统APQP软件系统
  • CH01-1.2 Variable separable equation-Ordinary Differential Equation-by LiuChao
  • [架构之美]pdf压缩实战笔记(十五)
  • 【Unity Shader学习笔记】(一)计算机图形学概述
  • vue2 vue-property-decorator 库就类似于Java的注解库 vue class类编程
  • 阿里云和华为云Rocky LINUX 9.X镜像就绪及低端可用英伟达GPU
  • 力扣hot100:除自身以外数组的乘积(除法思路和左右前缀乘积)(238)
  • 静态ip软件哪个好用?资深用户的选择指南
  • Vite 插件 @vitejs/plugin-legacy 深度解析:旧浏览器兼容指南
  • 快速实现PLC之间的通信-基恩士
  • Spring Boot 全局字段处理最佳实践
  • 【程序员必备的Linux信号处理知识】
  • 【通用视觉框架】基于Python+OpenCV+PyQt5开发的视觉框架软件,全套源码,开箱即用
  • 变频器实习DAY41 单元测试介绍
  • % g++ *.cpp ...: fatal error: ‘opencv2/opencv.hpp‘ file not found 1
  • 趣味学RUST基础篇(错误处理)
  • Delphi 5 操作Word表格选区问题解析
  • 大数据毕业设计选题推荐-基于大数据的电脑硬件数据分析系统-Hadoop-Spark-数据可视化-BigData
  • 水电站电动机绝缘安全 “不掉线”!在线监测方案筑牢发电保障
  • ReactAgent接入MCP服务工具
  • 拷打字节面试官之-吃透c语言-哈希算法 如何在3面拷打字节cto 3万行算法源码带你吃透算法面试所有考题
  • C/C++条件编译:深入理解#ifndef/#endif守卫
  • 20.Linux进程信号(一)
  • C++拷贝语义和移动语义,左值引用与右值引用
  • 汉得H-AI飞码智能编码助手V1.2.4正式发布!
  • Turso数据库:用Rust重构的下一代SQLite——轻量级嵌入式数据库的未来选择
  • 三维重建——基础理论(四):三维重建基础与极几何原理(三维重建基础、单视图回忆、双目视觉、极几何、本质矩阵与基础矩阵、基础矩阵估计)
  • 虚实交互新突破:Three.js融合AR技术的孪生数据操控方法
  • 什么是 AWS 和 GCE ?