-
-
[原创]OALD8完美版制作教程
-
发表于: 2013-11-13 14:43 1614
-
OALD8指的是oxford advanced learners' dictionary 8th edition
好吧,我承认这个帖子不像是来讨论web安全的。
为何来发帖,为何发到这个版块,为何不给修改好的文件。
一种当年破解软件时留下来的遗风,小事自己动手,再加上太久没有来论坛了,所以过来看看。html代码兼容性最相关的也就只剩下这个版块了。这个原来学知识产权,现在是做律师的,让我就这么赤裸裸的传播文件,不合适啊,我就传授下犯罪方法吧。
大半天时间搞定。
先说说几个工具。getdict,mdxbuilder,ultraedit,python和一个叫做beautiful soup的库。
GetDict网上有,能够把mdx逆成txt,至于选项,我用了utf-8格式的txt,实际上后面一个mdx源文件也可以。没多大差别,至于mdx文件的格式,我觉得能够参看的就只有mdict作者写的程序mdxbuilder上比较全,反正随便弄点数据试验下就大概知道。
mdx逆成utf格式的文本文档后,跟mdxbuilder所要求的格式还有一定的差距,关于大文件编辑,反正UltraEdit没有崩溃,其他的很多都崩溃了。(可怜我开始不愿安装UE各种python小脚本文件分割,然后才能用notepad++打开)。我选了中间那个txt的字典数据,和mdict的数据差别,就是把\n换成</>,把tab换成换行。这个好几百兆的txt,UE执行也要一会儿。
mdxbuilder反正是必备的,也就不多提了。
还有就是一个原来的OALD8的mdict,感谢作者,感谢牛津……
最重要的一个问题,为何原来的OALD8不完美,说来说去么是浏览器核心的兼容性问题。
实际上我开始以为是标签嵌套不匹配的问题,从逆向好的txt里复制几行,改文件后缀为html,然后拖进ie和firefox里,发现两者的解析不一致。后来仔细看了下逆向后的txt文件中的html源码tag配对情况,发现其实根本没问题。
问题出在span标签的display block和span本来就是行内标签。这个跟所谓的标准是不容的,自诩很符合标准的webkit核心就跟他抵触了(好吧,我知道firefox不是webkit核心的……但我不用其他浏览器,没办法,只能将firefox当成异类了)。
解决方案很简单,用python写个小程序,把display:block的span全部替换成div标签就可以了。反正用beautiful soup就一两行的代码而已。
但貌似太夸张的写内存是不够用的,反正我是被提示了……所以我开始分割的文件就有用武之地了。还是要分割处理啊,我的机器内存4G,不知道8G的话需不需要分割处理。
在用mdxbuilder的时候,推荐将utf8格式不设BOM,可能会有各种意想不到的情况,比如说第一个单词查不到,字典显示变成txt的html等。
这个字典,只需要将txt转成mdx好了,资源文件(.mdd),原来的网上可以下载的还可以用的。
from bs4 import BeautifulSoup
import re
fw=open("d://new191.html",'w',-1,encoding="utf-8")#这个new191就是那个逆向后的txt文本文件
j=0
fr=[]
while j<=191:
fn="D://dict//"+str(j)+".html"
fr.insert(j,open(fn,'r',-1,encoding="utf-8"))#我无聊蛋疼的分了一百多个文件
soup = BeautifulSoup(fr[j])
j=j+1
for spans in soup.find_all(style=re.compile("display:block")):#beautiful soup真是个好东西
spans.name="div"
fw.write(repr(soup))
fw.close()
j=0
while j<=191:
fr[j].close()
j=j+1
毕竟本人不是科班出身,这种傻傻的代码,也难见于大方之家,by the way,我的python是64bit的3.3
好吧,我承认这个帖子不像是来讨论web安全的。
为何来发帖,为何发到这个版块,为何不给修改好的文件。
一种当年破解软件时留下来的遗风,小事自己动手,再加上太久没有来论坛了,所以过来看看。html代码兼容性最相关的也就只剩下这个版块了。这个原来学知识产权,现在是做律师的,让我就这么赤裸裸的传播文件,不合适啊,我就传授下犯罪方法吧。
大半天时间搞定。
先说说几个工具。getdict,mdxbuilder,ultraedit,python和一个叫做beautiful soup的库。
GetDict网上有,能够把mdx逆成txt,至于选项,我用了utf-8格式的txt,实际上后面一个mdx源文件也可以。没多大差别,至于mdx文件的格式,我觉得能够参看的就只有mdict作者写的程序mdxbuilder上比较全,反正随便弄点数据试验下就大概知道。
mdx逆成utf格式的文本文档后,跟mdxbuilder所要求的格式还有一定的差距,关于大文件编辑,反正UltraEdit没有崩溃,其他的很多都崩溃了。(可怜我开始不愿安装UE各种python小脚本文件分割,然后才能用notepad++打开)。我选了中间那个txt的字典数据,和mdict的数据差别,就是把\n换成</>,把tab换成换行。这个好几百兆的txt,UE执行也要一会儿。
mdxbuilder反正是必备的,也就不多提了。
还有就是一个原来的OALD8的mdict,感谢作者,感谢牛津……
最重要的一个问题,为何原来的OALD8不完美,说来说去么是浏览器核心的兼容性问题。
实际上我开始以为是标签嵌套不匹配的问题,从逆向好的txt里复制几行,改文件后缀为html,然后拖进ie和firefox里,发现两者的解析不一致。后来仔细看了下逆向后的txt文件中的html源码tag配对情况,发现其实根本没问题。
问题出在span标签的display block和span本来就是行内标签。这个跟所谓的标准是不容的,自诩很符合标准的webkit核心就跟他抵触了(好吧,我知道firefox不是webkit核心的……但我不用其他浏览器,没办法,只能将firefox当成异类了)。
解决方案很简单,用python写个小程序,把display:block的span全部替换成div标签就可以了。反正用beautiful soup就一两行的代码而已。
但貌似太夸张的写内存是不够用的,反正我是被提示了……所以我开始分割的文件就有用武之地了。还是要分割处理啊,我的机器内存4G,不知道8G的话需不需要分割处理。
在用mdxbuilder的时候,推荐将utf8格式不设BOM,可能会有各种意想不到的情况,比如说第一个单词查不到,字典显示变成txt的html等。
这个字典,只需要将txt转成mdx好了,资源文件(.mdd),原来的网上可以下载的还可以用的。
from bs4 import BeautifulSoup
import re
fw=open("d://new191.html",'w',-1,encoding="utf-8")#这个new191就是那个逆向后的txt文本文件
j=0
fr=[]
while j<=191:
fn="D://dict//"+str(j)+".html"
fr.insert(j,open(fn,'r',-1,encoding="utf-8"))#我无聊蛋疼的分了一百多个文件
soup = BeautifulSoup(fr[j])
j=j+1
for spans in soup.find_all(style=re.compile("display:block")):#beautiful soup真是个好东西
spans.name="div"
fw.write(repr(soup))
fw.close()
j=0
while j<=191:
fr[j].close()
j=j+1
毕竟本人不是科班出身,这种傻傻的代码,也难见于大方之家,by the way,我的python是64bit的3.3
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [原创]OALD8完美版制作教程 1615
- [原创]mingw使用指南(持续更新中) 12996
- [原创]过构建超长异常处理链antiOllyDbg 6517
- [原创]在教人学vb,自己写的教程[更新中] 7077
- [讨论]竞赛编程题。看到一道很可爱的题目。最好需要一小点数学知识。 4672
看原图
赞赏
雪币:
留言: