加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
solve.py 1.50 KB
一键复制 编辑 原始数据 按行查看 历史
xqm32 提交于 2020-04-15 00:02 . PR
import re
import os
from tag import *
from settings import *
def auto_title(content):
return re.compile(r'^(第.+[章节].*)',
re.M).sub(r'{0}\1{0}'.format(get_setting('标题样式')), content) if get_setting('标题样式') != '' else content
def floor(fl):
set_quote(False)
return tag(fl)
def page(p):
content = str()
for i in p.xpath('//div[@class="pcb"]'):
temp = floor(i)
if is_quote:
temp='\n{{同人注释start}}\n'+temp+'\n{{同人注释end}}\n'
if get_setting('分割线'):
temp += '\n----\n'
if not get_setting('回复') and is_quote() or get_setting('限制字数') and len(temp) < get_setting('字数阙值'):
continue
content += temp
return content
def post(url, fr=1, to=1, fn=None):
content = str()
fn = fn if fn else get_tid(url)
if not os.path.exists('output'):
os.mkdir('output')
for n in range(fr, to+1):
content += page(get(generate_url(url, n)))
content = re.compile(r'(\n|\r\n)+').sub('\n\n', content)
content = auto_title(content)
with open(f'output/{fn}.mw', 'w', encoding='utf-8_sig') as f:
f.write(content)
return
if __name__ == '__main__':
arg = input().split()
if len(arg) == 1:
post(arg[0])
elif len(arg) == 2:
post(arg[0], int(arg[1]))
elif len(arg) == 3:
post(arg[0], int(arg[1]), int(arg[2]))
elif len(arg) == 4:
post(arg[0], int(arg[1]), int(arg[2]), arg[3])
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化