Проверка орфографии в тексте через Яндекс Speller

Оглавление

Вы можете добавить проверку орфографии прямо в личном кабинете. По нажатию на некоторую кнопку будет отправляться запрос к Яндекс Speller и выводиться таблица возможных ошибок по тексту. 

Как внедрить интеграцию: 

1. Создаем исходящий API метод с кодом yandexspell (с POST JSON)

процедура Request: 

CREATE PROCEDURE [dbo].[api_yandexspell_request]
	@parameters ExtendedDictionaryParameter READONLY,  -- входящие параметры для внутренней обработки (используйте Key, Value2)
	@username nvarchar(32)  -- текущий пользователь.
AS
BEGIN
	declare @text nvarchar(max)='', @itemID nvarchar(256), @id int
    select @itemid = isnull(Value2, Value) from @parameters where lower([Key])='itemid'
    
    if(left(@itemID, 8)='article_') begin 
    	set @id = try_cast(substring(@itemID, 9, 100) as int)
    	select top 1 @text = text1 from  as_articles 	 where id = @id
    end
	if(len(@text)=0) begin 
   		 select top 1 @text = text1 from  as_articles 	 
    end
    
    set @text = dbo.
as_stripHTML(@text) -- SELECT 1 Msg, Result, Url (адрес, куда будет идти запрос) select '' Msg, 1 Result, 'https://speller.yandex.net/services/spellservice.json/checkText?options=4' Url -- skip addressed -- SELECT 2 PARAMETERS - параметры, которые будут передаваться во внешний источник select 'text' name, @text value, 'form' [type] -- form (в форме передается), header (в http headers), get запросы передавайте прямо в URL END

Процедура Response: 

CREATE PROCEDURE [dbo].[api_yandexspell_response]
	@response nvarchar(max),
	@parameters ExtendedDictionaryParameter READONLY,  -- входящие параметры для внутренней обработки (используйте Key, Value2 - те же что и на request)	
	@username nvarchar(32)
AS
BEGIN
	-- SELECT 1
	select '' Msg, 1 Result, @response Response
	-- SELECT 2 Внешние действия
END

2. Реализуем обработку вывода в таблице (обязательно ставим в настройках таблицы Источник API = yandexspell) и @filters параметр имеет тип ExtendedDictionaryParameter.

Процедура GetItems: 

CREATE PROCEDURE [dbo].[crud_spellText_getItems]
	@filters ExtendedDictionaryParameter READONLY,  	
	@sort sql_variant,
	@direction nvarchar(8),
	@page int,
	@pageSize int,
	@username nvarchar(32)
AS
BEGIN
	-- filters...
	declare @resp nvarchar(max)
	select @resp = Value2 from @filters where [Key] = 'yandexspell'
	
	SELECT word text,     
    	'Code: '+ isnull(code,'') + ', Pos: ' + isnull(pos, '') + ', Row: '+ isnull([row], '') + ', Col: '+ isnull(col, '') desc_text,
        isnull( STUFF(
            (
            SELECT ', ' + value
                FROM openjson(s) AS t 
                FOR XML PATH('')
            ), 1, 2, N''
        ), '') s
    FROM OPENJSON(@resp, '$')
    WITH (
          
            code nvarchar(512) '$.code',
			pos nvarchar(512) '$.pos',
			[row] nvarchar(512) '$.row',
			col nvarchar(512) '$.col',
			word nvarchar(max) '$.word',
			s nvarchar(max) '$.s' as json
        )
    	
    -- SELECT 2
    select 1
    -- SELECT 3
    select 1 HideTitleCount, 1 Compact
	
END

В итоге для каждой статьи можно вызвать эту таблицу в модальном окне, которая покажет ошибки в тексте.  

Примечание: 

  • Текст передавать лучше без HTML в API. Для этого используем dbo.stripHTML функцию.
  • Документация от Яндекс: https://yandex.ru/dev/speller/doc/dg/concepts/speller-overview.html

Falcon Space — функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space

Насколько полезной была статья?

Google поиск по нашей документации

Пользовательское соглашение службы «API Яндекс.Подписки»

Общество с ограниченной ответственностью «ЯНДЕКС» (далее — «Яндекс») предлагает пользователю сети Интернет (далее — «Пользователь») использовать сервис «API Яндекс.Подписки» на условиях, изложенных в настоящем документе (далее — «Условия»).

1.1. Термины и определения

Сервис — сервис «API Яндекс.Подписки», представляющий собой интерфейс программирования, который предлагает пользователю возможность организовать работу с RSS-потоками.

API-Ключ — уникальный идентификатор, выдаваемый Пользователю, позволяющий получить доступ к функциям Сервиса со своего сайта (-ов).

Данные — сведения, поступающие от Сервиса, предназначенные для показа Пользователям, включая, но не ограничиваясь, пользовательские данные.

1.2. Использование Пользователем Сервиса регулируется настоящими Условиями, а также:

• Пользовательским соглашением сервисов Яндекса, размещенным по адресу: https://yandex.ru/legal/rules;

• Лицензией на использование поисковой системы Яндекса, размещенной по адресу: https://yandex.ru/legal/termsofuse;

• Политикой конфиденциальности, размещенной по адресу: https://yandex.ru/legal/confidential.

1.3. Начиная использовать Сервис или его отдельные функции, в том числе получив API-ключ, зарегистрировавшись на Сервисе или воспользовавшись любой другой функциональной возможностью, предоставляемой Сервисом, Пользователь принимает настоящие Условия, а также условия всех указанных в п. 1.2 Условий документов, в полном объеме, без всяких оговорок и исключений, и обязуется соблюдать их. Использование Сервиса на иных условиях, чем условия указанных документов, возможно только по предварительному письменному согласию Яндекса.

В случае несогласия Пользователя с какими-либо из условий указанных документов, Пользователь не вправе использовать Сервис.

1.4. Пользователь самостоятельно несет ответственность за соблюдение им Законодательства при использовании Сервиса. Везде по тексту настоящих Условий, если явно не указано иное, под термином «Законодательство» понимается любое применимое законодательство, включая как законодательство Российской Федерации, так и законодательство места пребывания Пользователя или места совершения им юридически значимых действий в соответствии с настоящими Условиями. Если использование Пользователем какой-либо возможности, предоставляемой Сервисом, нарушает Законодательство, Пользователь обязуется воздержаться от использования Сервиса.

1.5. К настоящим Условиям и отношениям между Яндексом и Пользователем, возникающим в связи с использованием Сервиса, подлежит применению право Российской Федерации.

2.1. Для получения доступа к Сервису Пользователь обязан зарегистрироваться по установленной форме и получить API-Ключ. Яндекс вправе по своему усмотрению отказать в доступе к Сервису без объяснения причин. Пользователь не имеет права использовать любые программы, устройства или иные средства, позволяющие получить API-Ключ автоматическим путем или иным образом с нарушением процедуры, установленной Яндексом.

2.2. Пользователь вправе использовать Сервис только в рамках интернет-сервисов, доступных для бесплатного открытого использования неограниченным кругом лиц. Пользователь не имеет права использовать Сервис для проектов, требующих оплаты, или иным образом ограничивающих доступ к ним третьих лиц. Необходимость зарегистрироваться не считается ограничением доступа в рамках настоящего пункта.

2.3. Пользователь может использовать данные и функции, полученные при помощи Сервиса, только в рамках функциональности, предоставляемой Сервисом.

2.4. При использовании Сервиса пользователь не имеет права удалять, скрывать или модифицировать любые содержащиеся в Сервисе или полученных с его помощью Данных товарные знаки, логотипы, ссылки или иные указания на Яндекс или иных лиц, равно как и любые другие уведомления и/или информацию, передаваемые Сервисом вместе с Данными.

2.5. Пользователь не имеет права изменять, декомпилировать и/или каким либо образом модифицировать программный код, полученный посредством Сервиса.

2.6. Пользователь не имеет права сохранять, обрабатывать и видоизменять Данные, за исключением случаев временного хранения (кэширования) результатов исключительно для целей улучшения функциональности и работоспособности Сервиса и только для использования в рамках возможностей, предоставляемых Сервисом.

2.7. Использование Сервиса с направлением более 25000 (двадцати пяти тысяч) запросов в час разрешается только после предварительного согласования условий использования Сервиса с Яндексом. Для согласования условий использования Сервиса необходимо отправить заявку на адрес электронной почты [email protected]. В случае если количество запросов Пользователя превысит 25000 (двадцать пять тысяч) в сутки, и при отсутствии предварительного согласования с Яндексом, Яндекс вправе без предварительного уведомления запретить (блокировать) использование Сервиса Пользователем.

2.8. Пользователь не имеет права использовать Сервис для создания интернет-сервисов, программ для ЭВМ или иным образом, если такое использование влечет нарушение Законодательства, документов, указанных в п. 1.2 Условий, и/или прав и законных интересов третьих лиц.

2.9. Пользователь настоящим уведомлен и соглашается, что Сервис может использовать пользовательские данные, поэтому Пользователь дает согласие на передачу пользовательских данных Яндексу для дальнейшей обработки и хранения в соответствии с условиями Политики конфиденциальности (https://yandex.ru/legal/confidential).

2.10. Яндекс оставляет за собой право изменять, исправлять или обновлять Сервис в любой момент, без предварительного уведомления Пользователя. При выпуске очередной стабильной версии Яндекс сообщает о её выпуске на веб-страницах Сервиса. После выпуска новой версии Сервиса Яндекс не гарантирует стабильность и продолжительность работы его устаревших версий. Пользователь, не согласный использовать обновленную версию Сервиса, может либо продолжать на свой страх и риск использовать устаревшую версию Сервиса, либо прекратить использование Сервиса, удалив соответствующий код с сайта (-ов) Пользователя.

2.11. Яндекс оставляет за собой право включить рекламные материалы по своему усмотрению в состав Данных. При использовании Данных Пользователь не имеет права удалять, изменять или скрывать такие рекламные материалы без согласия Яндекса.

2.12. Яндекс имеет право по собственному усмотрению прекратить или приостановить доступ Пользователя к Сервису без уведомления и без объяснения причин, в частности, в случае нарушения Пользователем требований настоящих Условий.

3.1. Исключительное право на Сервис принадлежит Яндексу. Исключительные права на Данные принадлежат Яндексу или иным правообладателям. Настоящие Условия не дают Пользователю каких-либо прав на использование Сервиса или Данных помимо тех возможностей, которые предоставляются непосредственно в интерфейсе Сервиса в соответствии с настоящими Условиями.

3.2. Используя Сервис, Пользователь предоставляет Яндексу право использовать логотип, товарный знак и/или фирменное наименование Пользователя и/или сайта Пользователя в информационных, рекламных и маркетинговых целях без необходимости получения дополнительного согласия Пользователя и без выплаты ему какого-либо вознаграждения за такое использование.

4.1. Сервис (включая Данные) предоставляется Яндексом «как есть». Яндекс не гарантирует соответствие Сервиса и Данных целям и ожиданиям Пользователя, бесперебойную и безошибочную работу Сервиса в целом и отдельных его компонентов и/или функций, а также не гарантирует достоверность, точность, полноту и своевременность Данных. Яндекс не гарантирует бесперебойную и безошибочную работу сторонних программных продуктов и решений (в т.ч. библиотек), рекомендованных при использовании Сервиса в технических условиях и иной документации, связанной с его использованием.

4.2. Пользователь самостоятельно и в полном объёме несёт ответственность за использование и сохранность своего API-Ключа. Пользователь не имеет права получать API-Ключ для третьих лиц, передавать или предоставлять его третьим лицам. Яндекс не несёт ответственности за несанкционированное использование API-Ключа третьими лицами. Все действия, совершенные на Сервисе с использованием принадлежащего Пользователю API-Ключа, считаются совершенными Пользователем.

5.1. Яндекс имеет право без уведомления по собственному усмотрению прекратить или приостановить доступ Пользователя к Сервису или к отдельным его функциям с использованием его учетной записи и/или API-ключа, без объяснения причин, в том числе, в случае нарушения Пользователем требований настоящих Условий.

5.2. Все вопросы и претензии, связанные с использованием/невозможностью использования Сервиса, должны направляться через форму обратной связи по адресу http://feedback2.yandex.ru/feeds/api.

5.3. Яндекс вправе в любое время без уведомления Пользователя изменять текст настоящих Условий. Действующая редакция настоящих Условий размещается по адресу: https://yandex.ru/legal/feeds_api. Новая редакция Условий вступает в силу с момента ее размещения в сети Интернет по указанному в настоящем абзаце адресу. Продолжение использования Сервиса после изменения Условий считается согласием с их новой редакцией. Пользователь обязан прекратить использование Сервиса, в случае если Яндексом были внесены какие-либо изменения в настоящие Условия, с которыми Пользователь не согласен.

yandex-speller — Анализ работоспособности пакетов npm

Все уязвимости безопасности принадлежат производственных зависимостей прямых и косвенных пакеты.

Риск безопасности и лицензии для основных версий

Все версии

9 02.2022 |
Версия Уязвимости Лицензионный риск
03/2020

Популярные

  • C
  • H
  • M
  • L
  • H
  • M
  • L
4. 0.0 | 07/2019
  • C
  • H
  • M
  • L
  • L
  • L
    • L
    • L
    0022
    • В
    • М
    • Л
    3. 0.0 | 08/2018
    • C
    • H
    • M
    • L
    • H
    • M
    • L
    2. 1.1 | 11/2017
    • C
    • H
    • M
    • L
    • H
    • M
    • L
    2. 0.1 | 10/2016
    • C
    • H
    • M
    • L
    • H
    • M
    • L

    License
    Массачусетский технологический институт

    Политика безопасности
    Нет

    Ваш проект подвержен уязвимостям?

    Сканируйте свои проекты на наличие уязвимостей. Быстро исправить с помощью автоматизированного исправления. Начните работу со Snyk бесплатно.

    Начните бесплатно

    Еженедельные загрузки (1365)

    Скачать тренд

    Звезды GitHub
    7

    Вилки
    6

    Авторы
    2


    Популярность прямого использования

    Необычный

    Пакет npm yandex-speller получает в общей сложности 1365 загрузок в неделю. Таким образом, мы забили уровень популярности yandex-speller будет Small.

    На основе статистики проекта из репозитория GitHub для npm package yandex-speller мы обнаружили, что он был снялся 7 раз.

    Загрузки рассчитываются как скользящие средние за период из последних 12 месяцев, за исключением выходных и известных отсутствующих точек данных.

    Частота фиксации

    Нет последних коммитов

    Открытые задачи
    1

    Открытый PR
    5

    Последняя версия
    3 года назад

    Последняя фиксация
    1 год назад


    Дальнейший анализ состояния обслуживания yandex-speller на основе каденция выпущенных версий npm, активность репозитория, и другие точки данных определили, что его обслуживание Неактивный.

    Важным сигналом обслуживания проекта, который следует учитывать для yandex-speller, является это не видел никаких новых версий, выпущенных для npm в за последние 12 месяцев и может считаться прекращенным проектом или проектом, который получает мало внимания со стороны его сопровождающих.

    В качестве здорового признака текущего обслуживания проекта мы обнаружили, что В репозитории GitHub был по крайней мере 1 запрос на включение или проблема, с которой взаимодействовали сообществом.

    Совместимость с Node.js
    >=4


    Возраст
    7 лет

    Зависимости
    0 Прямые

    Версии
    9

    Установочный размер
    11,9 КБ

    Распределенные теги
    1

    Количество файлов
    7

    Обслуживающий персонал
    1

    Типы TS
    Нет


    yandex-speller имеет более одного и последнего тега по умолчанию, опубликованного для пакет нпм. Это означает, что для этого могут быть доступны другие теги. пакет, например рядом, чтобы указать будущие выпуски, или стабильный, чтобы указать стабильные релизы.

    pyaspeller · PyPI

    Описание проекта

    pyaspeller (Python Yandex Speller) — это cli-инструмент и библиотека на чистом python для поиска опечаток в текстах, файлах и на веб-сайтах.

    Проверка орфографии использует API Яндекс.Спеллера. (ограничения)

    Функции

    • Средство командной строки

    Вы можете исправить свои локальные файлы или веб-страницы

     $ pyaspeller ./doc
    $ пьяспеллер https://team-tricky.github.io
    $ pyaspeller "в субботу утромъ"
    в субботу утром
     
    • Библиотека

    Используйте орфограф для вашего кода

     >>> from pyaspeller import YandexSpeller
    >>> Speller = YandexSpeller()
    >>> fixed = Sppeler.spelled('Triky Custle — отличная игра-головоломка.')
    >>> исправлено
    «Tricky Castle — отличная игра-головоломка». 
     

    Вы можете использовать класс Word для однословных запросов:

     >>> из словарного импорта pyaspeller
    >>> проверить = Word('тест')
    >>> проверить.правильно
    ЛОЖЬ
    >>> проверить.варианты
    [у'тест']
    >>> проверить.spellsafe
    ты тест
     

    Установка

    Используйте ваш любимый менеджер пакетов:

     $ python3 -m pip install pyaspeller
     

    Также доступны rust и javascript версии этого спеллера.

    Детали проекта


    Эта версия

    1.0.0

    0.2.3

    0.2.0

    0.1.0

    0.0.5

    0.0.4

    0.0.3

    0.0.2

    Загрузить файлы

    Загрузить файл для вашей платформы. Если вы не уверены, что выбрать, узнайте больше об установке пакетов.

    Исходный дистрибутив

    pyaspeller-1.0.0.tar.gz (11,9 КБ посмотреть хеши)

    Загружено источник

    Встроенный дистрибутив

    pyaspeller-1.0.0-py3-none-any.whl (12,1 КБ посмотреть хеши)

    Загружено ру3

    Хэши для pyaspeller-1.0.0.tar.gz
    Алгоритм Хэш-дайджест
    SHA256 6a07be27def3883be8e15a554e6bc989e63b2b7ab7bea6c2187118eb296c1764
    MD5 8cd314536ea9c486e0ae97bd6a2c0fb6
    БЛЕЙК2б-256 5c9f0ada538f66f1af584fa506ee5efcd9b99eb57324a9634587f8be9219c1d4