我想在我选择的两到三个在线词典(例如朗文词典、剑桥词典、牛津词典)中查找给定单词(例如“服从”)的不同定义。然后将它们一一列出在终端中。这个可以改成剧本吗?我从哪说起呢?
答案1
做到这一点的一种方法是利用现有的字典聚合器,例如免费词典或者一看并简单地将其输出转换为文本形式。
例如,对于 The Free Dictionary,您可以定义以下函数:
$ tfd() {
if [[ $# -ne 1 ]]; then echo "Syntax: webdict <word>"; return; fi
python3 -c "
import bs4,requests
sel = '[data-src=hm], [data-src=hc_dict], [data-src=rHouse]'
page = requests.get('https://www.thefreedictionary.com/$1').text
for d in bs4.BeautifulSoup(page, 'html.parser').select(sel): print(d, end='<hr>')" |
w3m -dump -T text/html;
}
然后你可以用它来查找单词:
$ tfd fain
(请注意,需要 python3、python3-requests、python3-bs4 和 w3m 包才能正常工作。)
一个明显的缺点是您将仅限于聚合器提供的词典选择及其格式。
另一种选择是使用适当的控制台字典,例如SDCV。但是,并非所有在线词典都提供用于自动访问的 API,这将限制您可以通过此方法合法使用的词典数量。