Google's "define: " through an API? Google's "define: " through an API? json json

Google's "define: " through an API?


I wish I had not set a bounty for this, because I stumbled upon the answer a few days later and it is really simple.

Here is URL to call if you want a definition to love:

http://www.google.com/dictionary/json?callback=a&sl=en&tl=en&q=love

You will get a response stream containing JSONP, with the following contents ("prettified" for learning purposes, API returns all in one line):

a(    {       "query":"love",       "sourceLanguage":"en",       "targetLanguage":"en",       "primaries":[          {             "type":"headword",             "terms":[                {                   "type":"text",                   "text":"love",                   "language":"en",                   "labels":[                      {                         "text":"Noun",                         "title":"Part-of-speech"                      }                   ]                },                {                   "type":"phonetic",                   "text":"/ləv/",                   "language":"und"                },                {                   "type":"sound",                   "text":"http://www.gstatic.com/dictionary/static/sounds/de/0/love.mp3",                   "language":"und"                }             ],             "entries":[                {                   "type":"related",                   "terms":[                      {                         "type":"text",                         "text":"loves",                         "language":"und",                         "labels":[                            {                               "text":"plural"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"An intense feeling of deep affection",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"babies fill parents with intense feelings of \x3cem\x3elove\x3c/em\x3e",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"their \x3cb\x3e\x3cem\x3elove\x3c/em\x3e for\x3c/b\x3e their country",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"A deep romantic or sexual attachment to someone",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"it was \x3cem\x3elove\x3c/em\x3e at first sight",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"they were both \x3cb\x3ein \x3cem\x3elove\x3c/em\x3e with\x3c/b\x3e her",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"we were slowly \x3cb\x3efalling in \x3cem\x3elove\x3c/em\x3e\x3c/b\x3e",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"A personified figure of \x3cem\x3elove\x3c/em\x3e, often represented as Cupid",                         "language":"en"                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"A great interest and pleasure in something",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"his \x3cb\x3e\x3cem\x3elove\x3c/em\x3e for\x3c/b\x3e football",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"we share a \x3cb\x3e\x3cem\x3elove\x3c/em\x3e of\x3c/b\x3e music",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"Affectionate greetings conveyed to someone on one\x27s behalf",                         "language":"en"                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"A formula for ending an affectionate letter",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"take care, lots of \x3cem\x3elove\x3c/em\x3e, Judy",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"A person or thing that one \x3cem\x3eloves\x3c/em\x3e",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"she was \x3cb\x3ethe \x3cem\x3elove\x3c/em\x3e of his life\x3c/b\x3e",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"their two great \x3cem\x3eloves\x3c/em\x3e are tobacco and whiskey",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"A friendly form of address",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"it\x27s all right, \x3cem\x3elove\x3c/em\x3e",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"Used to express affectionate approval for someone",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"don\x27t fret, there\x27s a \x3cem\x3elove\x3c/em\x3e",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"(in tennis, squash, and some other sports) A score of zero; nil",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"\x3cem\x3elove\x3c/em\x3e fifteen",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"he was down two sets to \x3cem\x3elove\x3c/em\x3e",                               "language":"en"                            }                         ]                      }                   ]                }             ]          },          {             "type":"headword",             "terms":[                {                   "type":"text",                   "text":"love",                   "language":"en",                   "labels":[                      {                         "text":"Verb",                         "title":"Part-of-speech"                      }                   ]                },                {                   "type":"phonetic",                   "text":"/ləv/",                   "language":"und"                },                {                   "type":"sound",                   "text":"http://www.gstatic.com/dictionary/static/sounds/de/0/love.mp3",                   "language":"und"                }             ],             "entries":[                {                   "type":"related",                   "terms":[                      {                         "type":"text",                         "text":"loved",                         "language":"und",                         "labels":[                            {                               "text":"past participle"                            }                         ]                      },                      {                         "type":"text",                         "text":"loves",                         "language":"und",                         "labels":[                            {                               "text":"3rd person singular present"                            }                         ]                      },                      {                         "type":"text",                         "text":"loving",                         "language":"und",                         "labels":[                            {                               "text":"present participle"                            }                         ]                      },                      {                         "type":"text",                         "text":"loved",                         "language":"und",                         "labels":[                            {                               "text":"past tense"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"Feel a deep romantic or sexual attachment to (someone)",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"do you \x3cem\x3elove\x3c/em\x3e me?",                               "language":"en"                            }                         ]                      }                   ]                },                {                   "type":"meaning",                   "terms":[                      {                         "type":"text",                         "text":"Like very much; find pleasure in",                         "language":"en"                      }                   ],                   "entries":[                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"I\x27d \x3cem\x3elove\x3c/em\x3e a cup of tea, thanks",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"I just \x3cem\x3elove\x3c/em\x3e dancing",                               "language":"en"                            }                         ]                      },                      {                         "type":"example",                         "terms":[                            {                               "type":"text",                               "text":"a fun-\x3cem\x3eloving\x3c/em\x3e girl",                               "language":"en"                            }                         ]                      }                   ]                }             ]          }       ]    },200,null)

Google Dictionary API returns in the form of a callback function (JSONP). Before you can process the JSON within the function call, you have to strip out the callback function data.

That means removing everything before the first { and everything after the last }.

After this you are done! That's all information you need and it's basically the same (actually a little more!) information when you search Google for define love.


from bs4 import BeautifulSoupimport  requestsword = "democracy"url = 'https://www.google.co.in/search?q=define%20' + word + '#cns=1'response = requests.get(url, headers={"user-agent":"Mozilla/5.0(Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0"})html = response.contentfinal_soup = BeautifulSoup(html,"html5lib")everyThing = final_soup.select("div._Jig")for line in everyThing:    print("-",line.text)

I wrote this script to get the definition of a word from google.Hope it helps but its not using any API.