Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google's "define: " through an API?

I want to get the result of searches that use special features in Google, like "define: [phrase]" and I can't seem to find relevant information about this.

Does anyone knows where I can get the data in JSON format (like the rest of Google's APIs) without scraping the results page manually?

Thanks, Eli

like image 544
Eli Avatar asked Jul 28 '11 13:07

Eli


People also ask

Does Google use API?

Google Cloud APIs are programmatic interfaces to Google Cloud Platform services. They are a key part of Google Cloud Platform, allowing you to easily add the power of everything from computing to networking to storage to machine-learning-based data analysis to your applications.

What is Google API integration?

What is a Google API? The Google API stands for 'Application Programmable Interface', which is an interface that allows you to seamlessly integrate your software with Google services. The Google APIs can pull data from and/or automate features of Google Services like Google Analytics, Adwords, YouTube and more.

Does Google have a public API?

The Google APIs Explorer is a tool available on most REST API reference documentation pages that lets you try Google API methods without writing code. The APIs Explorer acts on real data, so use caution when trying methods that create, modify, or delete data.


Video Answer


2 Answers

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.

like image 115
Adriano Carneiro Avatar answered Nov 05 '22 13:11

Adriano Carneiro


from bs4 import BeautifulSoup import  requests word = "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.content final_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.

like image 40
Ajay Singh Avatar answered Nov 05 '22 13:11

Ajay Singh