私が選んだ2〜3つのオンライン辞書(例えば、Longman、Cambridge、Oxford)で、特定の単語(「obey」など)のさまざまな定義を見つけたいと思います。その後、端末に 1 つずつリストします。これをスクリプトに置き換えることができますか?どこから始めるべきですか?
答え1
これを行う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パッケージが必要です。)
1つの明らかな欠点は、コレクタが提供する辞書とその形式の選択が制限されることです。
別のオプションは、適切なコンソール辞書を使用することです。SDCV。ただし、すべてのオンライン辞書が自動アクセスのためのAPIを提供するわけではないため、この方法では合法的に使用できる辞書の数が制限されます。