Склонение по падежам на Python
Пример программы вызова веб-сервиса склонения по падежам:
url = "https://ws3.morpher.ru/russian/declension"
headers = {'User-Agent': 'My Python script'}
params = dict(
s="Пользователь",
format="json",
# token= #Не обязателен. Подробнее: https://morpher.ru/ws3/#authentication
)
response = requests.get(url=url, params=params, headers=headers)
data = json.loads(response.text)
print(data.get('Р')) # Пользователя
print(data.get('множественное').get('И')) # Пользователи
Если не указать заголовок 'User-Agent', то запрос может привести к ошибке:
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
Пример расстановки ударений
import xml.etree.ElementTree as ET
import requests
def add_stress_marks(string, token = None):
url = "https://ws3.morpher.ru/russian/addstressmarks"
if token is not None:
url += "?token=" + token
headers = {'Content-type': 'text/plain; charset=utf-8',
'Host': 'ws3.morpher.ru',
'Content-Length': '10',
'User-Agent': 'python'}
response = requests.post(url, data=string.encode('utf-8'), headers=headers)
myroot = ET.fromstring(response.text)
print(myroot.text)
if __name__ == '__main__':
add_stress_marks('Балет "Щелкунчик"')
Для работы необходим requests.
Описание остальных функций доступно на странице веб-сервиса «Морфер» 3.0.