尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
利用AI工具实现代码
代码# -*- coding: utf-8 -*- 从可阅文学网批量抓取《围城》全文并保存为 txt 文件。 章节链接格式: https://www.kepub.net/book/1105/10001 ~ 10013 import re import time import urllib.request from html.parser import HTMLParser BASE https://www.kepub.net/book/1105/ CHAPTER_IDS list(range(10001, 10014)) # 序 9章 附录 HEADERS { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36 } class TextExtractor(HTMLParser): 简易 HTML 正文提取器只保留 div classcontent 或 reader 容器里的文本 def __init__(self): super().__init__() self.in_content False self.depth 0 self.parts [] self.current_tag def handle_starttag(self, tag, attrs): attrs dict(attrs) cls attrs.get(class, ) # 站点正文容器常见类名 if tag div and (content in cls or reader in cls or article in cls): self.in_content True self.depth 1 elif self.in_content: self.depth 1 self.current_tag tag def handle_endtag(self, tag): if self.in_content: self.depth - 1 if self.depth 0: self.in_content False def handle_data(self, data): if self.in_content: t data.strip() if t: self.parts.append(t) def fetch_chapter(cid): url BASE str(cid) req urllib.request.Request(url, headersHEADERS) with urllib.request.urlopen(req, timeout20) as resp: raw resp.read() # 尝试多种编码 for enc in (utf-8, gbk, gb18030): try: html raw.decode(enc) break except UnicodeDecodeError: continue return html def extract_text(html): 优先用正则定位 div ... idcontent ... 区块再退回 HTMLParser # 常见正文 div m re.search( rdiv[^]*class[^]*(?:content|article|reader-content|showtxt)[^]*[^]*(.*?)/div\s*!--, html, re.S) if not m: m re.search( rdiv[^]*id[^]*content[^]*[^]*(.*?)/div, html, re.S) if m: body m.group(1) # 去标签 text re.sub(rbr\s*/?, \n, body) text re.sub(r[^], , text) text re.sub(rnbsp;, , text) text re.sub(rldquo;|rdquo;, , text) text re.sub(rmdash;, —, text) return text.strip() # 退回通用 parser p TextExtractor() p.feed(html) return \n.join(p.parts).strip() def main(): full [] for cid in CHAPTER_IDS: print(f正在抓取章节 {cid} ...) try: html fetch_chapter(cid) text extract_text(html) # 取章节标题 tm re.search(rtitle(.*?)/title, html) title tm.group(1) if tm else str(cid) title re.sub(r[_\-–—].*?(可阅文学网|手机版).*$, , title).strip() full.append(f\n\n {title} \n\n) full.append(text) print(f - {title}, {len(text)} 字) except Exception as e: print(f 失败: {e}) time.sleep(1.5) # 礼貌延时 out .join(full) with open(围城.txt, w, encodingutf-8) as f: f.write(out) print(f\n完成共 {len(out)} 字已保存到 围城.txt) if __name__ __main__: main()结果
RELATED

相关推荐

AIGC工具平台-Tauri2.x智能工具桌面应用模块:把本地模型 endpoint 改到 TaoToken

AIGC工具平台-Tauri2.x智能工具桌面应用模块:把本地模型 endpoint 改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/10 17:38:45
天池肺部CT数据集实战避坑指南:DICOM物理参数与临床一致性处理

天池肺部CT数据集实战避坑指南:DICOM物理参数与临床一致性处理

简介:本资源为2019年阿里巴巴天池全球数据智能大赛“数字人体”赛场——肺部CT多病种智能诊断赛题的参赛代码实现包,面向具备Python与深度学习基础的AI医疗初学者及算法工程师,聚焦医学影像分析中的肺部疾病自动识别与模型构建实践。压缩包共…

📅 2026/10/10 17:33:45
Java入门指南:从零搭建环境到写出第一个实战项目

Java入门指南:从零搭建环境到写出第一个实战项目

很多朋友在刚接触Java时,最容易陷入的状态是“收藏了一堆教程,但打开IDE还是一脸懵”。说实话,Java入门这条路本身并不陡峭,真正劝退新手的往往是开始阶段的“三座大山”:环境装不明白、语法概念太抽象(尤其…

📅 2026/10/10 17:33:45
MORE NEWS

更多资讯

📰

欧税通递表港交所,合规服务商资本化提速,欧美跨境电商服务商对接平台推荐:实测按目标市场筛选合规服务商

2026年9月3日,跨境电商合规服务平台欧税通正式向港交所递交主板上市申请,由中金公司和申万宏源香港联合保荐。欧税通累计服务超26.4万名付费用户,合规服务覆盖全球121个国家和地区,已被亚马逊、TikTok、Temu、SHEIN等九个电商平台…

📰

LSTM多输入单输出分类预测:数据形状、滑窗切片与调参避坑指南

简介:这是一份基于MATLAB的长短期记忆神经网络(LSTM)数据分类预测代码包,面向需要完成多特征输入、单输出二分类或多分类任务的科研人员、工程师与高年级学生;与普通机器学习分类器不同,它利用LSTM对序列特…

📰

PS5辅助工具AnyPS5:用Python与图像识别自动化主机操作

PS5入手一年半,游戏进度推进了不少,但主机里积压的截图和录像也越来越多。每次想导到电脑上处理,都要在主机界面里一张一张勾选,一次最多几十张,多选几次就让人失去耐心。更不用说远程串流参数、存储空间预警这些信息都…

📰

Docker部署Qdrant向量数据库:从安装到持久化实战

把向量数据库装进 Docker,并没想象中复杂。我第一次接触 Qdrant,是给一个语义检索项目做召回层,当时想找一个能快速部署、自带 API、又不用折腾编译环境的方案,正好 Qdrant 官方提供了镜像,直接docker pull就能用。这类…

📰

Decompiler Explorer 开源上架 GitHub:在线反编译对比开卷,本地装 Ghidra 还香吗?

Decompiler Explorer 开源上架 GitHub:在线反编译对比开卷,本地装 Ghidra 还香吗? 【免费下载链接】ghidra Ghidra is a software reverse engineering (SRE) framework 项目地址: https://gitcode.com/GitHub_Trending/gh/ghidra 202…

📰

让 AI 助手记住你读过的网页:Hister MCP 接口接入实战

让 AI 助手记住你读过的网页:Hister MCP 接口接入实战 【免费下载链接】hister Your own search engine 项目地址: https://gitcode.com/GitHub_Trending/hi/hister 大模型越来越擅长"回答",却很难"记得"你上周读过什么。它不…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬