黄舟2017-04-17 11:24:371楼

我忘记这代码是从哪儿来的了,大概是从这个改的吧:http://yongsun.me/2010/07/%E5%AF%BC%E5%85%A5sogou%E8%BE%93%E5%85%A5%E6%B3%95%E7%9A%84%E7%BB%86%E8%83%9E%E8%AF%8D%E5%BA%93/

importer.py

#!/usr/bin/python2

import struct

import os, sys

def read_utf16_str (f, offset=-1, len=2):

if offset >= 0:

f.seek(offset)

str = f.read(len)

return str.decode('UTF-16LE')

def read_uint16 (f):

return struct.unpack ('

def get_word_from_sogou_cell_dict (fname):

f = open (fname, 'rb')

file_size = os.path.getsize (fname)

hz_offset = 0

mask = struct.unpack ('B', f.read(128)[4])[0]

if mask == 0x44:

hz_offset = 0x2628

elif mask == 0x45:

hz_offset = 0x26c4

else:

sys.exit(1)

title = read_utf16_str (f, 0x130, 0x338 - 0x130)

type = read_utf16_str (f, 0x338, 0x540 - 0x338)

desc = read_utf16_str (f, 0x540, 0xd40 - 0x540)

samples = read_utf16_str (f, 0xd40, 0x1540 - 0xd40)

py_map = {}

f.seek(0x1540+4)

while 1:

py_code = read_uint16 (f)

py_len = read_uint16 (f)

py_str = read_utf16_str (f, -1, py_len)

if py_code not in py_map:

py_map[py_code] = py_str

if py_str == 'zuo':

break

f.seek(hz_offset)

while f.tell() != file_size:

word_count = read_uint16 (f)

pinyin_count = read_uint16 (f) / 2

py_set = []

for i in range(pinyin_count):

py_id = read_uint16(f)

py_set.append(py_map[py_id])

py_str = "'".join (py_set)

for i in range(word_count):

word_len = read_uint16(f)

word_str = read_utf16_str (f, -1, word_len)

f.read(12)

yield py_str, word_str

f.close()

def showtxt (records):

for (pystr, utf8str) in records:

#print len(utf8str), utf8str

print utf8str.encode('utf8')

def main ():

if len (sys.argv) != 2:

print "Please specify the Sogou PinYin Cell dict file!"

exit (1)

generator = get_word_from_sogou_cell_dict (sys.argv[1])

showtxt(generator)

if __name__ == "__main__":

main()

然后到 http://pinyin.sogou.com/dict/ 下载搜狗细胞词库。运行 ./importer.py 文件名

运行后会向标准输出输出 *.scel 文件里的所有词,每行一个。

搜狗输入法如何java_java - 如何获取搜狗输入法的词库相关推荐

  1. 新浪出输入法了,深蓝词库转换更新到1.3.1——增加对新浪拼音输入法的支持

    新浪最近出了自己的输入法,具体介绍我就不说了,参见这里.由于之前一直做深蓝词库转换的工具,目前已经支持了大部分主流的输入法词库的转换,既然出了一个新的输入法,那么肯定要增加对这个输入法的词库的支持了. ...

  2. 新浪出输入法了,深蓝词库转换更新到1.3.1——增加对新浪拼音输入法的支持...

    新浪最近出了自己的输入法,具体介绍我就不说了,参见这里.由于之前一直做深蓝词库转换的工具,目前已经支持了大部分主流的输入法词库的转换,既然出了一个新的输入法,那么肯定要增加对这个输入法的词库的支持了. ...

  3. win10,win11微软输入法如何导入搜狗词库的方法-词库转换

    很多人使用PC输入法越来越喜欢简洁好用的,搜狗.百度这种输入法的臃肿和广告弹窗越来越让我们感到烦闷,于是很多人开始选择使用Windows系统自带的微软拼音输入法. 微软拼音输入法其实在日常使用中已经足 ...

  4. Gboard导入简体中文词库,详细操作教程。

    Gboard批量导入词库方法 适用版本8.6.10.266015648-release-arm64-v8a 工具 深蓝词库转换器 sublime(非必须,根据自身习惯) 一.准备工作 1.首先打开搜狗 ...

  5. R语言:如何批量导入搜狗词库

    首先是建立相关目录 # 建立相关目录 # 建立数据目录,本项目所有数据都保存在这个文件夹下(包括搜狗词库文件).其中getwd()用来获取当前工作环境的目录 data.dir <- sprint ...

  6. 爬取搜狗输入法的医学词库 下载.scel格式文件

    Ps: 参考代码 原文链接:https://blog.csdn.net/Q_QuanTing/article/details/82698229 Why am I doing this? 入职后一段时间 ...

  7. python 获取搜狗输入法里面所有的表情图片

    首先我们要使用fiddler爬取搜狗输入法表情接口,打开搜狗输入法键盘,里面有个表情,点击进去会进去搜狗的图片表情 ,其中有个输入框,我们要抓取的就是输入对应的文字,找到搜狗所有的管理按图片: 比如我 ...

  8. 搜狗输入法导入本地txt为个人词库

    1.个人txt词库 这就词库了,本地导入的一个词就可以生效 2.导入txt词库 打开搜狗输入法的 弹出一个窗口 选中词库,点击导入 弹出一个窗口 选txt格式 选中自己的txt词库 3.完成测试 打字 ...

  9. python表情怎么打出来_python 获取搜狗输入法里面所有的表情图片

    首先我们要使用fiddler爬取搜狗输入法表情接口,打开搜狗输入法键盘,里面有个表情,点击进去会进去搜狗的图片表情 ,其中有个输入框,我们要抓取的就是输入对应的文字,找到搜狗所有的管理按图片: 比如我 ...

最新文章

  1. Tessellation (曲面细分) Displacement Mapping (贴图置换)
  2. 探索 COVID-19 新冠数据来学习 Pandas
  3. 我要做 Android 之面笔试总结
  4. Load和Initialize的往死了问是一种怎样的体验
  5. 常见JSP中文乱码例子及其解决方法
  6. java js 执行效率_JavaScript提高加载和执行效率的方法
  7. 【视频】CCNA——telnet和SSH的配置
  8. IDEA JDK1.8 ProGuard 混淆Maven项目代码
  9. linux查询匹配个数,查找与linux中目录中的模式匹配的文件数
  10. android学习笔记---31_多线程断点下载器,下载原理实现
  11. Android 解决手机unauthorized错误
  12. 当联邦学习碰上老虎机
  13. sql 获取日期时分秒_sql2000 获取当前日期只要年月日,不要时分秒
  14. 计算机二级公共基础知识易错点汇总
  15. JAVA博客和书籍推荐
  16. 数理统计基础 常用的统计分布
  17. 【BZOJ2109/2535】【NOI2010】航空管制(贪心)
  18. max7456 C语言,如何使用8位单片机对16位INT型数据进行操作
  19. 正则表达式中反斜杠的另一用法
  20. 海外专利紧缺 中国IT企业国际化维艰

热门文章

  1. 煤矿企业对无人值守称重系统性能有什么要求
  2. 远程连接出现 登陆失败:用户账户限制 解决方案
  3. 微信公众号发送模板消息,发送消息到某个用户
  4. PTA-浙大版《Python 程序设计》AC解答汇总
  5. 作业6:基于CNN的XO识别 深度学习 手搓卷积代码
  6. 企业网络安全工作制度
  7. ubuntu16.04安装使用YouTube-DL和Youtube-dl GUI
  8. 建立自定义的YouTube播放列表播放器
  9. 【matlab】:matlab中如何取整?
  10. Windows7、Windows10安全警报关闭方法