Example #1
0
        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()
Example #2
0
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()
Example #3
0
    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()