Just a few days in the past, a coding pal requested me: “What’s the greatest Google search library for Python?”
Nicely, to be sincere, I had no clue, so I did my investigation and did some fast testing. And I believed that it could be helpful to share it with some Pythonistas newbies out of there.
So let’s overview some nice libraries to entry the highly effective search of a Google question inside your Python code.
Module 1: PyWhatKit
First, let’s begin just by utilizing the PyWhatKit Module:
PyWhatKit is a Python Library that permits you to schedule and ship WhatsApp messages and carry out different features similar to enjoying a video on YouTube, changing a picture to ASCII artwork, and changing a string to a picture with handwritten characters. Different options embody sending emails, taking screenshots, and shutting down or canceling a shutdown on a Linux or Mac OS machine.
GitHub : https://github.com/Ankit404butfound/PyWhatKit
However you may merely use it as nicely to run your favourite Google Queries.
So let’s begin with the fundamentals!
The best way to set up it:
pip set up pywhatkit
First to check your code:
import pywhatkit as pwk # To carry out a Google search and to open your default browser robotically print("Let's ask Google!") search1 = "FIFA world Cup" pwk.search(search1)
Now a greater code that asks for the person’s enter:
# Importing the search operate from the pywhatkit library from pywhatkit import search # Prompting for the person enter question = enter("Ask Google about? : ") print("Trying to find ...") # Operating the search question search(question)
You may run a number of queries, however this may open as many tabs in your browser. Possibly you’ve got a use case for that?
# To import the search operate from the pywhatkit library from pywhatkit import search # Hardcoding your queries query1 = "Fifa" query2 = "world cup" query3 = "Mundial" query4 = "world soccer" # Looking without delay search(query1) search(query2) search(query3) search(query4)
Okay, maintain on! I can hear you saying however what about all Google search choices. Nicely let’s examine one other Python library: google
!
Module 2: ‘Google’
To put in it:
pip set up google
Now let’s ask the person what’s searching for and return the results of all queries with an inventory of URLs. Extra helpful when doing an investigation.
# Importing the search operate from the google library from googlesearch import search # Asking the person what number of queries he needs to run num_searches = int(enter("What number of queries do you to do, (ie: 3): ")) searchQueries = [] whereas num_searches>0: # Then asking the person the topic of the search question question = enter("Ask Google about? : ") # It will show a max of 5 outcomes per question for i in search(question, tld="com", num=5, cease=5, pause=3): print(i) num_searches=num_searches-1
Let’s take a look at these search operate choices:
question # a string which include what you might be searching for; ie: "FIFA World cup" tld = 'com', # The highest degree area of google; ie: 'co.uk, fr' , ... lang = 'en', # Language of search consequence, 'ie: fr=French; gr=german',... num = 10, # Variety of outcomes per web page begin = 0, # First consequence to retrieve cease = None, # Final consequence to retrieve pause = 2.0, # Lapse between HTTP requests, that is necessary as a result of if this worth is simply too low Google can block your IP, so I like to recommend 2 or 3 seconds
You’ll get some ends in the next format (for instance):
What number of queries do you to do, (ie: 3): 1 Ask Google about? : fifa
https://www.beinsports.com/france/fifa-coupe-du-monde-2022/video/coupe-du-monde-2022-lenorme-occasion-pour-le-/2000861
https://www.tf1.fr/tf1/fifa-coupe-du-monde-de-football/movies/giroud-le-patient-anglais-91919296.html
https://www.sports activities.fr/soccer/equipe-de-france/classement-fifa-injustice-vue-bleus-672799.html
https://www.fifa.com/
https://twitter.com/FIFAcom/standing/1600418112830115841?ref_src=twsrcpercent5Egooglepercent7Ctwcamppercent5Eserppercent7Ctwgrpercent5Etweet
Module 3: Google-API-Python-Consumer
Now, in case you are considering getting your outcomes again in a JSON format, then the answer is to make use of the official Google API.
Earlier than utilizing the Google Python library, you’ll want to create a Google account and get your API key right here. You will have to create as nicely a service account within the Google Search Console.
I do advocate studying this weblog in case you are struggling to create your account and keys.
For the installation of the library:
pip set up google-api-python-client
Now we’re able to create a script:
from googleapiclient.discovery import construct #Import the Google API library import json #we'll want it for the output after all
Then, you will want to create two variables that include your token and key to be authenticated by Google.
For instance, they could look as follows (don’t copy them, they’re pretend 😊):
my_api_key = "AIzaSyAezbZKKKKKKr56r8kZk" my_cse_id = "46c457999997"
Now let’s create a operate that we are able to name to do our search:
def search(search_term, api_key, cse_id, **kwargs): service = construct("customsearch", "v1", developerKey=api_key) consequence = service.cse().record(q=search_term, cx=cse_id, **kwargs).execute() return consequence
Within the second line, we’re utilizing the construct()
command, which has many choices as a result of this Google API can be utilized for a lot of issues, however the one we have an interest right here is the: customsearch
.
🌍 Assets: Extra data on all Google companies is obtainable right here. Extra data on the construct
command right here.
Let’s attempt our operate to see if every thing is working positive:
consequence = search("FIFA", my_api_key, my_cse_id) print(json.dumps(consequence, sort_keys=True, indent= 4))
Maintain on, the output will not be in a JSON file. No worries, let’s modify the final bit so you may reserve it on to a JSON file:
consequence = search("FIFA", my_api_key, my_cse_id) json_file = open("searchResult.json", "w") json.dump(consequence, json_file)
Et voilà!
Module 4: SerpAPI
There may be another choice if you do not need to make use of the official Google API.
The google-search-results
library will not be free for limitless searches. However it may be free for 100 searches per day should you create an account at SerpApi.com
, and retrieve your API Key can add it to your code as you may guess!
from serpapi import GoogleSearch params = { "system": "desktop", "engine": "google", "q": "café", "location": "France", "google_domain": "google.fr", "gl": "fr", "hl": "fr", "api_key": "cfc232bade8efdb3956XXXXXXxx02251b63f7c751b001a800b7c" } search = GoogleSearch(params) outcomes = search.get_dict()
You’ll get a pleasant JSON file in consequence. This library could be fascinating for you if you wish to do an web search on different engines. Serapi.com
helps Bing, DuckDuckGo, Yahoo, Yandex, eBay, Youtube, and lots of extra.
I wished to share this selection as nicely, despite the fact that it’s industrial. It may be helpful in your use case.
Ending Up
Some enjoyable to complete for all of the followers of Google on the market? 😊
By utilizing the primary library that we play with, you may rework any photographs into an ASCII artwork file, particular recollections for the 80s.
Please obtain any picture by looking: “I really like Google” and reserve it as a PNG.
# To import the search operate from the pywhatkit library import pywhatkit as pwk pwk.image_to_ascii_art('loveGoogle.png', 'loveGascii.txt')
Thanks for studying! ♥️