查看: 4254|回复: 19
打印 上一主题 下一主题

[工具] 分割xml/html等文件必备:xmlsplit

[复制链接]

该用户从未签到

11

主题

125

回帖

822

积分

举人

Rank: 4

积分
822

灌水大神章小蜜蜂章笑傲江湖章

跳转到指定楼层
1
发表于 2013-11-24 17:50:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hyln9 于 2013-11-24 22:55 编辑

之前打算制作英文维基20131104(https://www.pdawiki.com/forum/thread-11455-1-1.html),47.2GB的xml实在是让我无语,后来在o大的指导下找见了不错的replace pioneer,但是分割处理这么大的文件依然不给力。几经周折,找见了这款鲜为人知但是功能极为强大的xml分割工具,可以分割我的47.2gb的xml。售价貌似99刀,我只是想试用一下,没想到有1gb限制,所以自编程序怒破解之,分享给大家,但是仅限私下使用哦

此软件为英文,但是功能确实很强大,截几张图给大家吧:







ps:不知道为什么i-wiki大大的引擎出了什么问题,无法转换。问题是我随便转了某个较小的外语xml成功,转换这个却失败,悲催啊,求教 所以先放出这个工具给大家带来点方便。

破解方法:先安装程序。之后把XmlSplit_Crack.exe改名为XmlSplit.exe放入程序文件夹内覆盖原文件(源文件必须备份),运行程序,随便输XXX就注册成功了,然后恢复原来的XmlSplit.exe即可。天杀的360竟然报毒!请关闭360,注册完以后就可以打开360了。

http://pan.baidu.com/s/1eQoIY
密码pqw4

该用户从未签到

11

主题

125

回帖

822

积分

举人

Rank: 4

积分
822

灌水大神章小蜜蜂章笑傲江湖章

2
 楼主| 发表于 2013-11-24 22:45:37 | 只看该作者
此楼备用

该用户从未签到

2121

主题

2961

回帖

6万

积分

翰林院修撰

不忘初心。送分大人,灌水砖家。擅长抛砖引玉,挖坑不填。

Rank: 12Rank: 12Rank: 12

积分
61056

翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

3
发表于 2013-11-24 22:50:06 | 只看该作者
关于图片显示,论坛有bug,我是先把图片上传到相册(你看我https://pdawiki.com/forum/space-uid-147948.html相册里都100+张图了),再从相册中选择图片插入,注意验证回答上方“本地化远程图片”前的复选框不要勾选!!!这样图片就能大大地显示出来了。{:5_227:}

该用户从未签到

11

主题

125

回帖

822

积分

举人

Rank: 4

积分
822

灌水大神章小蜜蜂章笑傲江湖章

4
 楼主| 发表于 2013-11-24 22:51:41 | 只看该作者
Oeasy 发表于 2013-11-24 22:50
关于图片显示,论坛有bug,我是先把图片上传到相册(你看我https://pdawiki.com/forum/space-uid-147948.htm ...

我说是怎么回事,谢谢了!
  • TA的每日心情
    难过
    2018-3-28 11:32
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    8

    主题

    202

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    22334

    灌水大神章小蜜蜂章笑傲江湖章

    5
    发表于 2013-11-24 22:55:32 | 只看该作者
    可以试试superfan89的引擎,转出效果应该和aard一样,不过我没试过。

    该用户从未签到

    11

    主题

    125

    回帖

    822

    积分

    举人

    Rank: 4

    积分
    822

    灌水大神章小蜜蜂章笑傲江湖章

    6
     楼主| 发表于 2013-11-24 23:05:42 | 只看该作者
    yisdict 发表于 2013-11-24 22:55
    可以试试superfan89的引擎,转出效果应该和aard一样,不过我没试过。

    谢谢,我试试!不过aard是什么?

    该用户从未签到

    11

    主题

    125

    回帖

    822

    积分

    举人

    Rank: 4

    积分
    822

    灌水大神章小蜜蜂章笑傲江湖章

    7
     楼主| 发表于 2013-11-24 23:08:59 | 只看该作者
    本帖最后由 hyln9 于 2013-11-24 23:16 编辑
    hyln9 发表于 2013-11-24 23:05
    谢谢,我试试!不过aard是什么?


    哦,aard查到了,比我现在用的好啊!我现在用fastwiki和kiwix,前者有公式制作工具不过排版一般,后这简直是完美的无图wiki,但是英文版太大了只更新到了2012年,中文有2013的,不过有mdict版的了,也就不用了。

    现在没有linux环境,看来得过一段时间再说了。另外期待唯吾无为老大的新引擎!

    该用户从未签到

    13

    主题

    75

    回帖

    2491

    积分

    解元

    Rank: 5Rank: 5

    积分
    2491

    灌水大神章小蜜蜂章笑傲江湖章

    8
    发表于 2013-11-25 01:37:03 | 只看该作者
    lz可以寫破解的程式?!
    那怎麼沒試試寫解析的引擎?!

    该用户从未签到

    11

    主题

    125

    回帖

    822

    积分

    举人

    Rank: 4

    积分
    822

    灌水大神章小蜜蜂章笑傲江湖章

    9
     楼主| 发表于 2013-11-25 17:20:44 | 只看该作者
    STFU 发表于 2013-11-25 01:37
    lz可以寫破解的程式?!
    那怎麼沒試試寫解析的引擎?!

    引擎太复杂,我又没时间其实这个程序破解起来还是比较容易的,我就是把它的验证给替换了一下而已。

    该用户从未签到

    11

    主题

    125

    回帖

    822

    积分

    举人

    Rank: 4

    积分
    822

    灌水大神章小蜜蜂章笑傲江湖章

    10
     楼主| 发表于 2013-12-3 18:52:58 | 只看该作者
    图片算是显示完整了
  • TA的每日心情
    开心
    2020-3-8 09:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    104

    主题

    1687

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16432

    小蜜蜂章笑傲江湖章灌水大神章

    11
    发表于 2013-12-3 19:28:37 | 只看该作者
    凡是能够编写程序,我都100分的崇拜。
  • TA的每日心情
    无聊
    2018-8-12 17:26
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    28

    回帖

    166

    积分

    童生

    Rank: 2

    积分
    166
    13
    发表于 2014-12-29 13:56:42 | 只看该作者
    能不能再发分享一次,谢谢
  • TA的每日心情
    无聊
    2018-8-12 17:26
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    28

    回帖

    166

    积分

    童生

    Rank: 2

    积分
    166
    14
    发表于 2014-12-31 13:10:51 | 只看该作者
    楼主能不能把那XMLSPLIT再给我分享一份,谢谢

    该用户从未签到

    0

    主题

    6

    回帖

    159

    积分

    童生

    Rank: 2

    积分
    159
    15
    发表于 2018-5-14 00:42:57 | 只看该作者
    求分享xmlsplit,打不开了。谢谢!
  • TA的每日心情
    奋斗
    2018-5-18 05:02
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    78

    主题

    479

    回帖

    8680

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    8680

    管理组专用章

    16
    发表于 2018-5-14 06:21:32 | 只看该作者
    请问楼主@hyln9能否重新分享一下你的百度盘链接?
  • TA的每日心情
    慵懒
    2022-4-24 15:17
  • 签到天数: 26 天

    [LV.4]偶尔看看III

    1

    主题

    51

    回帖

    1071

    积分

    解元

    Rank: 5Rank: 5

    积分
    1071
    17
    发表于 2018-11-16 20:03:31 | 只看该作者
    网盘链接已失效,能否再分享一次?
  • TA的每日心情
    开心
    2019-8-21 08:44
  • 签到天数: 163 天

    [LV.7]常住居民III

    17

    主题

    393

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    14980
    18
    发表于 2018-11-16 21:27:49 | 只看该作者
    1. '''
    2. Based on xmllarge.py
    3. '''
    4. # from pyquery import PyQuery as pq
    5. from pathlib import Path


    6. def xml_iter(file, tag):
    7.     '''
    8.     Process huge xml files
    9.     <tag> </tag> need to be in separate lines
    10.     # TODO: in the middle of lines

    11.     :file: file path
    12.     :tag: element to retrieve
    13.     '''
    14.     tagb1 = '<' + tag + '>'
    15.     tagb1 = tagb1.encode()


    16.     tagb2 = '<' + tag + ' '
    17.     tagb2 = tagb2.encode()

    18.     tagb3 = '</' + tag + '>'
    19.     tagb3 = tagb3.encode()

    20.     with open(file, 'rb') as inputfile:
    21.         append = False
    22.         for line in inputfile:
    23.             #~ if b'<tu>' in line or b'<tu ' in line:
    24.             if tagb1 in line:
    25.                 inputbuffer = line[line.index(tagb1):]
    26.                 append = True
    27.             elif  tagb2 in line:
    28.                 inputbuffer = line[line.index(tagb2):]
    29.                 append = True
    30.             #~ elif b'</tu>' in line:
    31.             elif tagb3 in line:
    32.                 inputbuffer += line[:line.index(tagb3) + len(tagb3)]
    33.                 append = False
    34.                 yield inputbuffer
    35.                 #~ docitem = process_buffer(inputbuffer, id_num)
    36.                 #~ print(id_num)
    37.                 #~ id_num += 1
    38.                 inputbuffer = b''
    39.             elif append:
    40.                 inputbuffer += line
    复制代码


    这么多人找这东西?我过一阵打包发个小工具。

    上面的python3函数用法
    resu = ''
    for elm in xml_iter(filename, 'tu'):
        resu += elm

    内存足迹极小……不管文件多大。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    19
    发表于 2019-1-19 18:47:48 | 只看该作者
    这个工具链接失效了,可以再分享下么
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    20
    发表于 2019-1-19 18:48:19 | 只看该作者
    mikeee 发表于 2018-11-16 21:27
    这么多人找这东西?我过一阵打包发个小工具。

    上面的python3函数用法

    就喜欢这种一言不合自己写工具的,后面看看你的代码