Example API problem

Problem name

Luke and languages

Problem Statement

Luke is learning many languages so that he can communicate easily during his journey. He came across a difficult paragraph in Dutch language. He didn't understand the meaning of certain words. Translate those words to english for him. The difficult words are highlighted in paragraph as follows.

>>difficult_word<<

Use the below API
https://tech.yandex.com/dictionary/

Note: The script will run in linux environment with root access and internet connectivity.

Input format

A single line containing a paragraph S in dutch language.

Output format

n lines, each containing the english translation of each highlighted word in the order in which they appear in the paragraph. In case if there are multiple translations for a word, output the first translation.

Limits

1 <= |S| <= 10000

Sample test cases

Input

Na weken van hard werken is het dan eindelijk zover. >>Morgen<< gaan de deuren open voor de officiele opening van Pan&Cook het nieuwe restaurant in het centrum van Rooi. Het pand op de hoek Heuvel-Kerkstraat vroeger >>bekend<< als "Pand Gloudemans" en de laatste jaren in gebruik geweest bij Van de Ven Accountants herbergt voortaan een restaurant waar de hongerige consument, jong en oud, terecht kan voor een op traditionele wijze gebakken pannenkoek. Maar ook voor een lunch of een feestje of partijtje kan men er terecht.

Output

tomorrow
known

Tags

API, Easy, regex, Yandex, Dictionary

Editorial

https://tech.yandex.com/dictionary/doc/dg/reference/lookup-docpage/

Solution

import requests
import json
import re

def main():
    p = raw_input()
    urlt = 'https://dictionary.yandex.net/api/v1/dicservice.json/lookup?key=APIkey&lang=nl-en&text={word}'
    pattern = re.compile(r'>>(.*?)<<')
    words = pattern.findall(p)
    for word in words:
        #print word
        url = urlt.replace('{word}',word)
        res = requests.get(url)
        json_res = json.loads(res.text)
        #print(json.dumps(json_res, indent=2))
        print(json_res['def'][0]['tr'][0]['text'])

if __name__ == '__main__':
    main()

results matching ""

    No results matching ""