else: if check_file(args.output): if args.url == '': print('请粘贴(或输入)帖子的某页网址,作为起始下载页') url = input('网址:').strip() print() else: url = args.url if not is_url(url): print('网址格式错误,请检查,网址须以http://或https://开头。') else: pgnum = '末页' if args.tillnum == -1 else args.tillnum print('网址:{0}\n下载页数:{1}\n输出文件:{2}\n'.format( url, pgnum, args.output) ) auto(url, args.tillnum, args.output, args.discard, args.label) else: parser.print_help() print() if os.name == 'nt': os.system('pause') color.deinit()
def main(): color.init() print('tz2txt 程序版本: %s\n' % tz2txt_date) import argparse parser = argparse.ArgumentParser(prog=tz2txt_prog, description='用于帮助把帖子转为txt文件' ) parser.add_argument('-v', action='version', version=tz2txt_prog+' '+tz2txt_ver+' '+tz2txt_date ) subparsers = parser.add_subparsers(dest='subparser', help='子功能') # 下载成编排d parser_d = subparsers.add_parser('d', help='下载帖子到‘编排txt’') parser_d.add_argument('-u', type=str, help='帖子网址', metavar='网址', default='', dest='url') parser_d.add_argument('-t', type=int, help='下载页数,-1为到尾页', metavar='页数', default=-1, dest='tillnum') parser_d.add_argument('-o', type=str, help='输出文件名', metavar='文件名', dest='output') # 统计编排s parser_s = subparsers.add_parser('s', help='统计‘编排txt’的信息') parser_s.add_argument('-i', type=str, help='输入的编排文件', metavar='文件名', dest='input') # 处理编排p parser_p = subparsers.add_parser('p', help='自动处理‘编排txt’') parser_p.add_argument('-i', type=str, help='输入的编排文件', metavar='文件名', dest='input') parser_p.add_argument('-o', type=str, help='输出的编排文件', metavar='文件名', dest='output') # 编译c parser_c = subparsers.add_parser('c', help='编译‘编排txt’到‘纯txt’') parser_c.add_argument('-i', type=str, help='输入的编排文件', metavar='文件名', dest='input') parser_c.add_argument('-o', type=str, help='输出的最终txt文件', metavar='文件名', dest='output') parser_c.add_argument('-d', type=str, help='输出遗弃内容到txt文件', metavar='文件名', default='', dest='discard') parser_c.add_argument('-w', type=str, help='是否有位置信息,默认为没有', metavar='page或floor', default='', dest='label') # 全自动处理a parser_a = subparsers.add_parser('a', help='全自动生成最终文本') parser_a.add_argument('-u', type=str, help='帖子网址', metavar='网址', default='', dest='url') parser_a.add_argument('-t', type=int, help='下载页数,-1为到尾页', metavar='页数', default=-1, dest='tillnum') parser_a.add_argument('-o', type=str, help='输出的最终txt文件', metavar='文件名', dest='output') parser_a.add_argument('-d', type=str, help='输出遗弃内容到txt文件', metavar='文件名', default='', dest='discard') parser_a.add_argument('-w', type=str, help='是否有位置信息,默认为没有', metavar='page或floor', default='', dest='label') args = parser.parse_args() if args.subparser == 'd': if args.output == None: print('输出文件名不能为空') else: if check_file(args.output): if args.url == '': print('请粘贴(或输入)帖子的某页网址,作为起始下载页') url = input('网址:').strip() print() else: url = args.url if not is_url(url): print('网址格式错误,请检查,网址须以http://或https://开头。') else: pgnum = '末页' if args.tillnum == -1 else args.tillnum print('网址:{0}\n下载页数:{1}\n输出文件:{2}\n'.format( url, pgnum, args.output) ) download_till(url, args.tillnum, args.output) elif args.subparser == 's': if os.path.isfile(args.input): statistic(args.input) else: print('输入文件{0}不存在'.format(args.input)) elif args.subparser == 'p': if args.input == None: print('输入文件名不能为空') elif args.output == None: print('输出文件名不能为空') elif not os.path.isfile(args.input): print('输入文件{0}不存在'.format(args.input)) else: if check_file(args.output): bp_process_bp(args.input, args.output) elif args.subparser == 'c': if args.input == None: print('输入文件名不能为空') elif args.output == None: print('输出文件名不能为空') elif not os.path.isfile(args.input): print('输入文件{0}不存在'.format(args.input)) else: if check_file(args.output): compile_txt(args.input, args.output, args.discard, args.label) elif args.subparser == 'a': if args.output == None: print('输出文件名不能为空') else: if check_file(args.output): if args.url == '': print('请粘贴(或输入)帖子的某页网址,作为起始下载页') url = input('网址:').strip() print() else: url = args.url if not is_url(url): print('网址格式错误,请检查,网址须以http://或https://开头。') else: pgnum = '末页' if args.tillnum == -1 else args.tillnum print('网址:{0}\n下载页数:{1}\n输出文件:{2}\n'.format( url, pgnum, args.output) ) auto(url, args.tillnum, args.output, args.discard, args.label) else: parser.print_help() print() if os.name == 'nt': os.system('pause') color.deinit()
elif args.subparser == 'a': if args.output == None: print('输出文件名不能为空') else: if check_file(args.output): if args.url == '': print('请粘贴(或输入)帖子的某页网址,作为起始下载页') url = input('网址:').strip() print() else: url = args.url if not is_url(url): print('网址格式错误,请检查,网址须以http://或https://开头。') else: pgnum = '末页' if args.tillnum == -1 else args.tillnum print('网址:{0}\n下载页数:{1}\n输出文件:{2}\n'.format( url, pgnum, args.output)) auto(url, args.tillnum, args.output, args.discard, args.label) else: parser.print_help() print() if os.name == 'nt': os.system('pause') color.deinit()