2개의 온라인 사전에서 단어 정의를 찾고 비교하는 스크립트

2개의 온라인 사전에서 단어 정의를 찾고 비교하는 스크립트

내가 선택한 2~3개의 온라인 사전(예: Longman, Cambridge, Oxford)에서 특정 단어(예: "obey")에 대한 다양한 정의를 찾아보고 싶습니다. 그런 다음 터미널에 하나씩 나열하십시오. 이것을 스크립트로 바꿀 수 있나요? 어디서부터 시작해야 하나요?

답변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를 제공하는 것은 아니므로 이 방법을 통해 합법적으로 사용할 수 있는 사전의 수가 제한됩니다.

관련 정보