chengjie месяцев назад: 6
Родитель
Сommit
9ef15a7675
100 измененных файлов с 259942 добавлено и 196 удалено
  1. 1955 0
      .gitignore
  2. 0 196
      arch.md
  3. BIN
      src/web_crawler/Zhui-Xu/Zhui-Xu.epub
  4. 72453 0
      src/web_crawler/Zhui-Xu/Zhui-Xu.html
  5. 156302 0
      src/web_crawler/Zhui-Xu/Zhui-Xu.txt
  6. 1125 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_all_contents.json
  7. 5617 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_chapters.json
  8. 6740 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_chapters_with_content.json
  9. 166 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0001_Chapter 1.html
  10. 182 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0002_Chapter 2.html
  11. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0003_Chapter 3.html
  12. 194 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0004_Chapter 4.html
  13. 162 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0005_Chapter 5.html
  14. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0006_Chapter 6.html
  15. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0007_Chapter 7.html
  16. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0008_Chapter 8.html
  17. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0009_Chapter 9.html
  18. 182 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0010_Chapter 10.html
  19. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0011_Chapter 11.html
  20. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0012_Chapter 12.html
  21. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0013_Chapter 13.html
  22. 166 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0014_Chapter 14.html
  23. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0015_Chapter 15.html
  24. 166 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0016_Chapter 16.html
  25. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0017_Chapter 17.html
  26. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0018_Chapter 18.html
  27. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0019_Chapter 19.html
  28. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0020_Chapter 20.html
  29. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0021_Chapter 21.html
  30. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0022_Chapter 22.html
  31. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0023_Chapter 23.html
  32. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0024_Chapter 24.html
  33. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0025_Chapter 25.html
  34. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0026_Chapter 26.html
  35. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0027_Chapter 27.html
  36. 166 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0028_Chapter 28.html
  37. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0029_Chapter 29.html
  38. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0030_Chapter 30.html
  39. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0031_Chapter 31.html
  40. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0032_Chapter 32.html
  41. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0033_Chapter 33.html
  42. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0034_Chapter 34.html
  43. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0035_Chapter 35.html
  44. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0036_Chapter 36.html
  45. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0037_Chapter 37.html
  46. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0038_Chapter 38.html
  47. 182 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0039_Chapter 39.html
  48. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0040_Chapter 40.html
  49. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0041_Chapter 41.html
  50. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0042_Chapter 42.html
  51. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0043_Chapter 43.html
  52. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0044_Chapter 44.html
  53. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0045_Chapter 45.html
  54. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0046_Chapter 46.html
  55. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0047_Chapter 47.html
  56. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0048_Chapter 48.html
  57. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0049_Chapter 49.html
  58. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0050_Chapter 50.html
  59. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0051_Chapter 51.html
  60. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0052_Chapter 52.html
  61. 182 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0053_Chapter 53.html
  62. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0054_Chapter 54.html
  63. 182 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0055_Chapter 55.html
  64. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0056_Chapter 56.html
  65. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0057_Chapter 57.html
  66. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0058_Chapter 58.html
  67. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0059_Chapter 59.html
  68. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0060_Chapter 60.html
  69. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0061_Chapter 61.html
  70. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0062_Chapter 62.html
  71. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0063_Chapter 63.html
  72. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0064_Chapter 64.html
  73. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0065_Chapter 65.html
  74. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0066_Chapter 66.html
  75. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0067_Chapter 67.html
  76. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0068_Chapter 68.html
  77. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0069_Chapter 69.html
  78. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0070_Chapter 70.html
  79. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0071_Chapter 71.html
  80. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0072_Chapter 72.html
  81. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0073_Chapter 73.html
  82. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0074_Chapter 74.html
  83. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0075_Chapter 75.html
  84. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0076_Chapter 76.html
  85. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0077_Chapter 77.html
  86. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0078_Chapter 78.html
  87. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0079_Chapter 79.html
  88. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0080_Chapter 80.html
  89. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0081_Chapter 81.html
  90. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0082_Chapter 82.html
  91. 174 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0083_Chapter 83.html
  92. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0084_Chapter 84.html
  93. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0085_Chapter 85.html
  94. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0086_Chapter 86.html
  95. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0087_Chapter 87.html
  96. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0088_Chapter 88.html
  97. 170 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0089_Chapter 89.html
  98. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0090_Chapter 90.html
  99. 178 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0091_Chapter 91.html
  100. 0 0
      src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0092_Chapter 92.html

Разница между файлами не показана из-за своего большого размера
+ 1955 - 0
.gitignore


+ 0 - 196
arch.md

@@ -1,196 +0,0 @@
1
-# 妙果系统服务端架构文档
2
-
3
-## 1. 系统概述
4
-
5
-妙果系统服务端是一个基于 Node.js 和 Koa 框架构建的后端服务,提供多种教育相关 API 服务,包括拼音、汉字、数学计算、自然拼读等多个教育领域的功能支持。系统采用模块化设计,支持多种微信小程序应用的后端服务需求。
6
-
7
-## 2. 技术栈
8
-
9
-- **运行环境**: Node.js v24.1.0
10
-- **Web 框架**: Koa v2.13.4
11
-- **路由**: @koa/router v13.1.0, koa-router v13.0.1
12
-- **数据库**: MySQL (mysql2 v3.14.1)
13
-- **会话管理**: koa-session v7.0.2
14
-- **文件处理**: @koa/multer v3.0.2, multer v1.4.5-lts.1
15
-- **HTTP 客户端**: axios v1.9.0
16
-- **工具库**: lodash v4.17.21, moment v2.30.1
17
-- **云服务集成**: 腾讯云 OCR、腾讯云对象存储
18
-- **其他工具**: pdfkit v0.17.1, gm v1.25.1 (图像处理)
19
-
20
-## 3. 系统架构
21
-
22
-### 3.1 目录结构
23
-
24
-```
25
-miaoguo_system_server/
26
-├── src/                    # 源代码目录
27
-│   ├── api/                # API 模块目录
28
-│   │   ├── common/         # 通用 API
29
-│   │   ├── hanzi/          # 汉字学习 API
30
-│   │   ├── mathcalculate/  # 数学计算 API
31
-│   │   ├── mps/            # MPS 相关 API
32
-│   │   ├── phonics/        # 自然拼读 API
33
-│   │   ├── pinyin/         # 拼音学习 API
34
-│   │   ├── web/            # Web 相关 API
35
-│   │   └── yjbdc/          # 英语百词斩 API
36
-│   ├── config/             # 配置文件目录
37
-│   │   ├── dev.js          # 开发环境配置
38
-│   │   ├── env.js          # 环境变量配置
39
-│   │   ├── index.js        # 主配置文件
40
-│   │   └── prod.js         # 生产环境配置
41
-│   ├── middleware/         # 中间件目录
42
-│   │   ├── queryParamSanitizer.js  # 查询参数清理中间件
43
-│   │   └── upload.js       # 文件上传中间件
44
-│   ├── model/              # 数据模型目录
45
-│   │   ├── BufferMemoryClass.js    # 缓存管理类
46
-│   │   ├── commonModel.js          # 通用模型
47
-│   │   ├── hanzi.js                # 汉字学习模型
48
-│   │   ├── mathcalculate.js        # 数学计算模型
49
-│   │   ├── mathstar.js             # 数学之星模型
50
-│   │   ├── mps.js                  # MPS 模型
51
-│   │   ├── phonics.js              # 自然拼读模型
52
-│   │   ├── pinyin.js               # 拼音学习模型
53
-│   │   └── yjbdc.js                # 英语百词斩模型
54
-│   ├── util/               # 工具类目录
55
-│   │   ├── db.js           # 数据库工具
56
-│   │   ├── GlobalCache.js  # 全局缓存工具
57
-│   │   ├── stringClass.js  # 字符串处理工具
58
-│   │   ├── WXBizDataCrypt.js # 微信数据解密工具
59
-│   │   ├── constant/       # 常量定义
60
-│   │   └── crypto/         # 加密解密工具
61
-│   ├── test/               # 测试目录
62
-│   └── app.js              # 应用入口文件
63
-├── public/                 # 静态资源目录
64
-├── scripts/                # 脚本目录
65
-├── doc/                    # 文档目录
66
-└── package.json            # 项目依赖配置
67
-```
68
-
69
-### 3.2 核心组件
70
-
71
-#### 3.2.1 应用入口 (app.js)
72
-
73
-应用入口文件负责初始化 Koa 应用实例,配置中间件,注册路由,并启动 HTTP 服务器。主要功能包括:
74
-
75
-- 配置 bodyParser 解析请求体
76
-- 配置静态文件服务
77
-- 设置错误处理中间件
78
-- 配置会话管理
79
-- 注册各模块路由
80
-- 启动服务器监听
81
-
82
-#### 3.2.2 API 模块
83
-
84
-每个 API 模块通常包含两个主要文件:
85
-- **routes.js**: 定义路由和 URL 映射
86
-- **xxxController.js**: 实现具体的业务逻辑和请求处理
87
-
88
-API 模块按功能领域划分,包括:
89
-- **common**: 通用功能,如文件上传、内容安全检查等
90
-- **hanzi**: 汉字学习相关功能
91
-- **mathcalculate**: 数学计算相关功能
92
-- **mps**: MPS 相关功能
93
-- **phonics**: 自然拼读相关功能
94
-- **pinyin**: 拼音学习相关功能
95
-- **web**: Web 端相关功能
96
-- **yjbdc**: 英语百词斩相关功能
97
-
98
-#### 3.2.3 配置管理
99
-
100
-配置管理采用环境分离的方式,通过 `process.env.NODE_ENV` 区分开发环境和生产环境:
101
-- **dev.js**: 开发环境特定配置
102
-- **prod.js**: 生产环境特定配置
103
-- **index.js**: 主配置文件,包含通用配置和环境特定配置的整合
104
-
105
-配置内容包括:
106
-- 服务器端口
107
-- 数据库连接参数
108
-- 会话配置
109
-- 微信应用配置(多个小程序的 appid 和 secret)
110
-- 云服务配置(腾讯云、百度云等)
111
-
112
-#### 3.2.4 中间件
113
-
114
-系统使用多个中间件增强功能和安全性:
115
-- **queryParamSanitizer.js**: 查询参数清理,防止注入攻击
116
-- **upload.js**: 文件上传处理
117
-- **decryptUrlMiddle**: URL 解密中间件(来自 crypto 工具)
118
-
119
-#### 3.2.5 数据模型
120
-
121
-数据模型层负责与数据库交互和业务数据处理:
122
-- **BufferMemoryClass.js**: 内存缓存管理
123
-- **commonModel.js**: 通用数据模型
124
-- 各功能模块特定模型(hanzi.js, phonics.js 等)
125
-
126
-#### 3.2.6 工具类
127
-
128
-系统包含多个工具类,提供通用功能:
129
-- **db.js**: 数据库连接和操作
130
-- **GlobalCache.js**: 全局缓存管理
131
-- **stringClass.js**: 字符串处理工具
132
-- **WXBizDataCrypt.js**: 微信数据解密
133
-- **crypto/**: 加密解密工具
134
-
135
-## 4. 数据流
136
-
137
-1. 客户端发送 HTTP 请求到服务器
138
-2. Koa 中间件链处理请求(body 解析、参数清理、会话管理等)
139
-3. 路由匹配将请求分发到对应的控制器方法
140
-4. 控制器调用模型层处理业务逻辑和数据操作
141
-5. 模型层与数据库或外部 API 交互
142
-6. 控制器接收处理结果,构造响应
143
-7. 中间件链处理响应
144
-8. 响应返回给客户端
145
-
146
-## 5. 安全机制
147
-
148
-- 使用 queryParamSanitizer 中间件防止 SQL 注入和 XSS 攻击
149
-- 会话管理使用签名 cookie 和 httpOnly 标志
150
-- 生产环境使用 secure cookie(仅 HTTPS)
151
-- 微信数据解密工具保护用户数据安全
152
-- URL 解密中间件增强 API 安全性
153
-
154
-## 6. 扩展性设计
155
-
156
-系统采用模块化设计,便于扩展新功能:
157
-1. 创建新的 API 模块目录
158
-2. 实现路由和控制器
159
-3. 创建相应的数据模型
160
-4. 在 app.js 中注册新路由
161
-
162
-## 7. 部署架构
163
-
164
-系统支持开发和生产两种环境部署:
165
-- 开发环境:使用 `npm run dev` 启动,加载开发配置
166
-- 生产环境:使用 `npm start` 启动,加载生产配置
167
-
168
-服务器要求:
169
-- Node.js v24.1.0
170
-- MySQL 数据库
171
-- 适当的网络访问权限(用于访问外部 API)
172
-
173
-## 8. 依赖服务
174
-
175
-- MySQL 数据库:存储应用数据
176
-- 腾讯云 OCR:文字识别服务
177
-- 腾讯云对象存储:文件存储服务
178
-- 微信开放平台:小程序授权和服务
179
-- 百度 AI 平台:AI 相关服务
180
-
181
-## 9. 监控与日志
182
-
183
-系统使用 console.log 进行基本日志记录,关键点包括:
184
-- 服务器启动信息
185
-- 错误处理和异常捕获
186
-- API 调用错误
187
-
188
-## 10. 未来优化方向
189
-
190
-1. 引入专业日志系统,替代 console.log
191
-2. 增强错误处理和监控机制
192
-3. 实现更完善的缓存策略
193
-4. 考虑引入 TypeScript 增强类型安全
194
-5. 增加自动化测试覆盖
195
-6. 优化数据库连接池管理
196
-7. 考虑引入容器化部署

BIN
src/web_crawler/Zhui-Xu/Zhui-Xu.epub


Разница между файлами не показана из-за своего большого размера
+ 72453 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu.html


Разница между файлами не показана из-за своего большого размера
+ 156302 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu.txt


Разница между файлами не показана из-за своего большого размера
+ 1125 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_all_contents.json


Разница между файлами не показана из-за своего большого размера
+ 5617 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_chapters.json


Разница между файлами не показана из-за своего большого размера
+ 6740 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_chapters_with_content.json


Разница между файлами не показана из-за своего большого размера
+ 166 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0001_Chapter 1.html


Разница между файлами не показана из-за своего большого размера
+ 182 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0002_Chapter 2.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0003_Chapter 3.html


Разница между файлами не показана из-за своего большого размера
+ 194 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0004_Chapter 4.html


Разница между файлами не показана из-за своего большого размера
+ 162 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0005_Chapter 5.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0006_Chapter 6.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0007_Chapter 7.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0008_Chapter 8.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0009_Chapter 9.html


Разница между файлами не показана из-за своего большого размера
+ 182 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0010_Chapter 10.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0011_Chapter 11.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0012_Chapter 12.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0013_Chapter 13.html


Разница между файлами не показана из-за своего большого размера
+ 166 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0014_Chapter 14.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0015_Chapter 15.html


Разница между файлами не показана из-за своего большого размера
+ 166 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0016_Chapter 16.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0017_Chapter 17.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0018_Chapter 18.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0019_Chapter 19.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0020_Chapter 20.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0021_Chapter 21.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0022_Chapter 22.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0023_Chapter 23.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0024_Chapter 24.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0025_Chapter 25.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0026_Chapter 26.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0027_Chapter 27.html


Разница между файлами не показана из-за своего большого размера
+ 166 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0028_Chapter 28.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0029_Chapter 29.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0030_Chapter 30.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0031_Chapter 31.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0032_Chapter 32.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0033_Chapter 33.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0034_Chapter 34.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0035_Chapter 35.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0036_Chapter 36.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0037_Chapter 37.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0038_Chapter 38.html


Разница между файлами не показана из-за своего большого размера
+ 182 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0039_Chapter 39.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0040_Chapter 40.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0041_Chapter 41.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0042_Chapter 42.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0043_Chapter 43.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0044_Chapter 44.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0045_Chapter 45.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0046_Chapter 46.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0047_Chapter 47.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0048_Chapter 48.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0049_Chapter 49.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0050_Chapter 50.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0051_Chapter 51.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0052_Chapter 52.html


Разница между файлами не показана из-за своего большого размера
+ 182 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0053_Chapter 53.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0054_Chapter 54.html


Разница между файлами не показана из-за своего большого размера
+ 182 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0055_Chapter 55.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0056_Chapter 56.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0057_Chapter 57.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0058_Chapter 58.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0059_Chapter 59.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0060_Chapter 60.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0061_Chapter 61.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0062_Chapter 62.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0063_Chapter 63.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0064_Chapter 64.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0065_Chapter 65.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0066_Chapter 66.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0067_Chapter 67.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0068_Chapter 68.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0069_Chapter 69.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0070_Chapter 70.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0071_Chapter 71.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0072_Chapter 72.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0073_Chapter 73.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0074_Chapter 74.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0075_Chapter 75.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0076_Chapter 76.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0077_Chapter 77.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0078_Chapter 78.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0079_Chapter 79.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0080_Chapter 80.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0081_Chapter 81.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0082_Chapter 82.html


Разница между файлами не показана из-за своего большого размера
+ 174 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0083_Chapter 83.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0084_Chapter 84.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0085_Chapter 85.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0086_Chapter 86.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0087_Chapter 87.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0088_Chapter 88.html


Разница между файлами не показана из-за своего большого размера
+ 170 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0089_Chapter 89.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0090_Chapter 90.html


Разница между файлами не показана из-за своего большого размера
+ 178 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0091_Chapter 91.html


+ 0 - 0
src/web_crawler/Zhui-Xu/Zhui-Xu_contents/0092_Chapter 92.html


Некоторые файлы не были показаны из-за большого количества измененных файлов