googlesearch
googlesearch is a Python library for searching Google, easily. googlesearch uses requests and BeautifulSoup4 to scrape Google.
Installation
To install, run the following command:
python3 -m pip install googlesearch-python
Usage
To get results for a search term, simply use the search function in googlesearch. For example, to get results for "Google" in Google, just run the following program:
from googlesearch import search
search("Google")
Additional options
googlesearch supports a few additional options. By default, googlesearch returns 10 results. This can be changed. To get a 100 results on Google for example, run the following program.
from googlesearch import search
search("Google", num_results=100)
If you want to have unique links in your search result, you can use the unique option as in the following program.
from googlesearch import search
search("Google", num_results=100, unique=True)
In addition, you can change the language google searches in. For example, to get results in French run the following program:
from googlesearch import search
search("Google", lang="fr")
You can also specify the region (Country Codes) for your search results. For example, to get results specifically from the US run the following program:
from googlesearch import search
search("Google", region="us")
If you want to turn off the safe search function (this function is on by default), you can do this:
from googlesearch import search
search("Google", safe=None)
To extract more information, such as the description or the result URL, use an advanced search:
from googlesearch import search
search("Google", advanced=True)
# Returns a list of SearchResult
# Properties:
# - title
# - url
# - description
If requesting more than 100 results, googlesearch will send multiple requests to go through the pages. To increase the time between these requests, use sleep_interval:
from googlesearch import search
search("Google", sleep_interval=5, num_results=200)
If requesting more than 10 results, but want to manage the batching yourself?
Use `start_num` to specify the start number of the results you want to get:
```python
from googlesearch import search
search("Google", sleep_interval=5, num_results=200, start_result=10)
If you are using a HTTP Rotating Proxy which requires you to install their CA Certificate, you can simply add ssl_verify=False in the search() method to avoid SSL Verification.
from googlesearch import search
proxy = 'http://API:@proxy.host.com:8080/'
j = search("proxy test", num_results=100, lang="en", proxy=proxy, ssl_verify=False)
for i in j:
print(i)
Asyncio implementations disabled the ssl_verify key, which is seemingly not accepted by httpx.
A simple example:
import asyncio
from googlesearch import asearch
async def main():
proxy='http://API:@proxy.host.com:8080'
r = asearch("hello world", advanced=True, proxy=proxy)
async for i in r:
print(i)
r = asyncio.run(main())
Metadata
Release files for mi-googlesearch-python 1.3.0.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mi_googlesearch_python-1.3.0.post1.tar.gz | 5.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mi_googlesearch_python-1.3.0.post1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / mi_googlesearch_python-1.3.0.post1.tar.gz
| Download URL | mi_googlesearch_python-1.3.0.post1.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ede3d79fca5390a32cb72d8c9a310eeab55e3ebc513d03c47e1895031c365bae
|
|
BLAKE2b-256 checksum How to use checksums |
2d14546eff9f7815ed9e8d762ddf92e586846ec0e16149cee69064d536e7285b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / mi_googlesearch_python-1.3.0.post1-py3-none-any.whl
| Download URL | mi_googlesearch_python-1.3.0.post1-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a15cddf814a49932c338f65e91dc1e607823ac5e9c7bbb05a68c0aff3bc548b
|
|
BLAKE2b-256 checksum How to use checksums |
ca32f14fac842c75247ebe390f12dfe6219f3172b9bec9329853ca07d1f1e2b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|