python txt小说文本处理,按章节分割小说
初衷
用JSP搭建了个本地的小说网站,网站数据基本靠python在网上抓取,有些是txt文档,没法直接存入数据库,所有需要对文本进行分割之后在存入数据库
准备工作
所需要的包:re os pymysql
先在cmd用pip list查看是否又安装,如果没安装用pip install 安装相应的包
例如:
pip install pymysql
源码分享
该源码目前有个BUG就是必须在最后一行加入一个章节名字比如: 第100章,不然最后一张会存不上
有能力的可自行完善,因为我处理的文本量不多
import re
import os
import pymysql
class text_processing(object):
# 类的初始化操作
def __init__(self):
# txt文本目录
self.source_path = './../novel/已格式化好的文本/'
# 用正则表达式匹配txt文档中的第N章
self.section_re = re.compile("^第.*章.*?.*?")
self.split_flag = u'章'
# 数据库链接地址
self.host = '192.168.3.33'
# 数据库用户名
self.user = '192_168_3_33'
# 数据库密码
self.passwd = 'iaJLHKPdm3YjDchd'
# 数据库名字
self.db = '192_168_3_33'
# 获取到文件夹里面的txt文件
def get_text_file_url(self):
# 得到文件夹下的所有文件名称
files = os.listdir(self.source_path)