尝试想象这样一个业务场景:有人收集了一个庞大的、快要到期的域名列表,想从其中筛选出来适合作为自己域名的域名,因为确实存在很多无意义的垃圾域名,如果肉眼去寻找的话,非常费力气。
好的域名的一个标准就是最好是一个完整的英文单词,或者有意义的英文单词组合。
如果仅将这个作为一个校验原则,那么需要一种API将这些域名列表进行拼写校验,将有意义的域名筛选出来,这里推荐使用python中的PyEnchant库进行单词拼写检查。
PyEnchant安装
官网有安装教程,附上链接http://pythonhosted.org/pyenchant/download.html
这里主要碰到的问题是,官方仅提供了32bit的windows安装包,安装之后64位windows系统会报错
64位系统报错信息:
1 | Traceback (most recent call last): |
所以最好使用Linux或者Mac作为开发系统…
PyEnchant简单使用
示例1:仅使用en_US库进行校验
python代码:1
2
3
4
5
6
7
8# -*- coding: utf-8 -*-
import enchant
en_dict = enchant.Dict("en_US")
# sample worldshift.net
print en_dict.check("worldshift")
print en_dict.suggest("worldshift")
输出结果:
python domain_check.py
False
[‘world shift’, ‘world-shift’, ‘worldliest’, ‘redshift’, ‘afterworld’, ‘Wordsworth’, ‘Waldensian’, ‘validation’]
结果说明这个域名不错是两个单词的拼接
示例2:使用自定义词库
my_words.txt 是本地的词库,里面只有一行记录就是 “OK”
1 | # -*- coding: utf-8 -*- |
输出结果:
python domain_check.py
False
[‘OK’]
结果说明符合了自己定义的词库规则,是一个符合某种条件的域名
示例3:多种词库混合使用
提供示例
1 | # -*- coding: utf-8 -*- |
以上,希望对您的工作和学习有帮助