SkyengDict — это асинхронная библиотека на Python, предоставляющая доступ к API словаря Skyeng. Она позволяет искать слова, получать их значения и обрабатывать лингвистические данные, такие как части речи, переводы и произношения.
pip install skyengdictimport asyncio
from skyengdict import Dictionary
from skyengdict.types import Meaning, BriefMeaning
async def main():
tasks = []
async with Dictionary() as dictionary:
result_1 = await dictionary.words('любовь', pagesize=1)
for word in result_1:
print(f"{word.text} - {word.meanings[0].translation}")
result_2 = await dictionary.meaning(45)
for mean in result_2:
print(f"{mean.text} - {mean.translation}\n")
await asyncio.gather(*tasks)
if __name__ == '__main__':
asyncio.run(main()) Параметры:
- logging: Логировать процесс получения данных. По умолчанию False
- rising: Возбуждать исключения, если не найдены слова (значения), либо возвращать пустой список. По умолчанию True
Основной класс для взаимодействия с API Skyeng Dictionary. Он предоставляет методы для поиска слов и получения их значений.
-
words(word: str, page: int = 1, pagesize: int = 0) -> list[Word]
Выполняет поиск слов по заданному запросу.Параметры:
word: Слово для поиска (либо на английском, либо на русском).page: Номер страницы для пагинации.pagesize: Количество результатов на странице (если значение 0, то выводит результат всех найденых объектовWordв списке).
Возвращает:
- Список объектов
Word, представляющих найденные слова с краткими значениями.
-
meaning(ids: int | list[int], data: str = None) -> list[Meaning]
Получает подробную информацию о значениях слов по их идентификаторам.Параметры:
ids: Один идентификатор значения или список идентификаторов.data: Дата в формате строки.
Возвращает:
- Список объектов
Meaning, представляющих полную информацию о значениях.
Представляет слово и связанные с ним краткие значения.
- Атрибуты:
id: Уникальный идентификатор слова.text: Слово в текстовом виде.meanings: Список объектовBriefMeaning, представляющих краткие значения слова.
Краткое описание значения слова.
- Атрибуты:
id: Уникальный идентификатор значения.part_of_speech_code: Часть речи, представляемая перечислениемPartOfSpeechCode.translation: Перевод текста.translation_note: Примечания к переводу.image_url: URL изображения.transcription: Фонетическая транскрипция в формате IPA.sound_url: ОбъектPronunciation, содержащий ссылку на произношение слова.text: Слово на английском.
Подробное описание значения слова на английском.
- Атрибуты:
id: Уникальный идентификатор значения.word_id: Идентификатор слова, к которому относится значение.difficulty_level: Уровень сложности (от 1 до 6).part_of_speech_code: Часть речи для данного значения.prefix: Приставка или артикли (например, "to" или "the").text: Слово на английском.sound_url: ОбъектPronunciation, представляющий ссылку URL на произношение.transcription: Фонетическая транскрипция.properties: ОбъектProperties, содержащий грамматическую информацию.updated_at: Дата последнего обновления значения.mnemonics: Мнемоническая подсказка для значения.translation: Перевод текста значения.translation_note: Примечания к переводу (если есть).images_url: Список URL изображений.images_id: Список идентификаторов изображений.definition: Описание значения.definition_sound_url: Ссылка на произношение описания.examples: Список объектовExample, содержащих примеры использования.meanings_with_similar_translation: Список объектовMeaningWithSimilarTranslation, представляющих значения с похожими переводами.alternative_translations: Список объектовAlternativeTranslation, представляющих альтернативные переводы.
Перечисление, представляющее часть речи слова. Доступны следующие значения:
n: существительноеv: глаголj: прилагательноеr: наречиеprp: предлогprn: местоимениеcrd: количественное числительноеcjc: союзexc: междометиеdet: артикльabb: сокращениеx: частицаord: порядковое числительноеmd: модальный глаголph: фразаphi: идиома
Возвращает URL-адрес на аудио-запись с определенным произношением.
- Методы:
british_male: Возвращает URL-адрес для мужского голоса c британским произношением.amrican_male: Возвращает URL-адрес для мужского голоса c американским произношением.british_female: Возвращает URL-адрес для женского голоса c британским произношением.amrican_female: Возвращает URL-адрес для женского голоса c американским произношением.
пример использования:
from skyengdict.type import Pronunciation
url = "https://vimbox-tts.skyeng.ru/api/v1/tts?text=Hello&lang=en&voice=male_2"
pronunciation = Pronunciation(url)
print(pronunciation.male_1)
Грамматические свойства слова.
- Атрибуты:
collocation: Указывает, является ли слово коллокацией.irregular: Указывает, является ли слово неправильным.past_tense: Прошедшая форма глагола (если применимо).past_participle: Причастие прошедшего времени (если применимо).transitivity: Переходность глагола (если применимо).phrasal_verb: Указывает, является ли слово фразовым глаголом.sound_url: ОбъектPronunciationдля звукового сопровождения.false_friends: Список ложных друзей (если есть).
Представляет перевод слова или фразы.
- Атрибуты:
text: Текст перевода.note: Примечания к переводу.
Представляет пример использования слова.
- Атрибуты:
text: Пример предложения.sound_url: ОбъектPronunciationдля произношения примера.
Библиотека предоставляет следующие пользовательские исключения:
Исключение, возникающее при отсутствии соединения с сервером.
from skyengdict.exceptions import SkyConnectorError
try:
async with Dictionary() as dictionary:
await dictionary.words("example")
except SkyConnectorError:
print("Ошибка соединения с сервером SkyEng.")
Исключение, возникающее, если слово не найдено.
from skyengdict.exceptions import WordsNotFound
try:
async with Dictionary() as dictionary:
word = await dictionary.words("nonexistentword0101010")
except WordsNotFound:
print("Слово не найдено.")
Исключение, возникающее, если значения слова не найдены.
from skyengdict.exceptions import MeaningsNotFound
try:
async with Dictionary() as dictionary:
meaning = await dictionary.meaning(1000)
except MeaningsNotFound:
print("Значения для слова не найдены.")
Присоединяйтесь к обсуждению и развитию проекта. Буду рад вашим предложениям и пулреквестам. Мои другие текущие проекты читайте в моем Telegram-канале.
Эта библиотека лицензирована под лицензией MIT.