
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
This module lets you use Google Searching capabilities right from your Python code
googlesearch
googlesearch
lets you use Google Searching capabilities right from your Python code or from your CLI
Make any Google Search right from Python!
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
You will need Python 3 to use this module
# vermin output
Minimum required versions: 3.2
Incompatible versions: 2
According to Vermin, Python 3.2 is needed
Always check if your Python version works with googlesearch
before using it in production
pip install python-googlesearch
Make sure to download python-googlesearch
as googlesearch
cannot be given to any package on PyPI
Even if you download python-googlesearch
, googlesearch
is used for the imports and the CLI version for conveniency purposes
pip install git+https://github.com/Animenosekai/googlesearch
You can check if you successfully installed it by printing out its version:
$ python -c "import googlesearch; print(googlesearch.__version__)"
# output:
googlesearch v1.1.1
or just:
$ googlesearch --version
# output:
googlesearch v1.1.1
You can use googlesearch in Python by importing it in your script:
>>> from googlesearch import Search
>>> python_results = Search("Python")
>>> python_results.results
[<SearchResult title="Python.org" (www.python.org)>, <SearchResult title="Python" ()>, <SearchResult title="Python (langage) — Wikipédia" (fr.wikipedia.org › wiki › Python_(langage))>, ...]
You can use googlesearch in other apps by accessing it through the CLI version:
$ googlesearch --query Python
{
"query": "Python",
"results": [
{
"url": "https://www.python.org/",
"title": "Welcome to Python.org",
"displayedURL": "www.python.org",
"description": "The official home of the Python Programming Language.\nDownloads \u00b7 Python For Beginners \u00b7 Quotes about Python \u00b7 Python Essays"
},
[...]
],
"relatedSearches": [
"Python serpent",
"Python openclassroom",
[...]
],
"success": true
}
An interactive version of the CLI is also available
$ googlesearch
Enter '.quit' to exit googlesearch
[?] (googlesearch ~ Query) > : ... # enter your query
[?] What do you want to do?: # select the result with your keyboard's arrows and [enter]
—————————————————SEARCH RESULT—————————————————
[...] # site's name
Description: # the site's description
URL: ... # site's URL
Related Searches: # a max of 3 related searches
You can get help on this version by using:
$ googlesearch --help
usage: googlesearch [-h] [--version] [--query QUERY] [--langua...
The search class represents a Google Search.
It lets you retrieve the different results/websites (Search.results
) and the related searches (Search.related_searches
)
This class is lazy loading the results.
When you initialize it with Search()
, it takes a query
as the required parameter and the following parameters as optional parameters:
language
: The language to request the results in (All of the website won't be in the given language as it is biased by lots of factors, including your IP address location). This needs to be a two-letter ISO 639-1 language code (default: "en")number_of_results
: The max number of results to be passed to Google Search while requesting the results (This won't give you the exact number of results) (default: 10)retry_count
: A positive integer representing the number of retries done before raising an exception (useful as googlesearch
seems to fail sometimes) (default: 3)parser
: The BeautifulSoup parser to use (default: "html.parser")It will only load and parse the website when results
or related_searches
is called.
parser
is the BeautifulSoup
parser used to parse the website and .
results
is a list of googlesearch.models.SearchResultElement
.
related_searches
is a list of Search
elements.
This class represents a result and is initialized by googlesearch
.
It holds the following information:
url
: The URL of the websitetitle
: The title of the websitedisplayed_url
: The URL displayed on Google Searchdescription
: The description of the websiteEvery class has the as_dict
function which converts the object into a dictionary. For Search
, the as_dict function will convert the other Search
objects in related_search
to a string with the query.
All of the exceptions inherit from the GoogleSearchException
exception.
You can find a list of exceptions in the exceptions.py
file
This module is currently in development and might contain bugs.
Feel free to use it in production if you feel like it is suitable for your production even if you may encounter issues.
User-Agent
HTTP headerThis project is licensed under the MIT License - see the LICENSE file for more details
FAQs
This module lets you use Google Searching capabilities right from your Python code
We found that python-googlesearch demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.