๐Ÿ” Google Search unofficial API for Python with no external dependencies

Overview

Python Google Search API

Version Build Status

Unofficial Google Search API for Python.

It uses web scraping in the background and is compatible with both Python 2 and 3.

Why this project?

No such library exists which works out of the box i.e. without requiring any external dependencies. I did this so that I can use it on my Alfred workflow. But this turned out to be pretty generic, feel free to use it for your own work.

Features

  • Free unrestricted API, requires no key or credit card
  • Unicode support
  • Works for all Python versions (2 & 3)

Installation

pip install gsearch

NOTE: By using this library, you agree to its Terms and Conditions.

Using

> from gsearch.googlesearch import search

> results = search('Full Stack Developer')  # returns 10 or less results
[ ('Name', 'Link'),
	('Name', 'Link'),
	... ]

> results = search('Avi Aryan', num_results=20)  # returns 20 or less results

You can also use it as a CLI tool.

$ gsearch "ๅ›ใฎๅ"

1. ๆ˜ ็”ปใ€Žๅ›ใฎๅใฏใ€‚ใ€ๅ…ฌๅผใ‚ตใ‚คใƒˆ
	http://www.kiminona.com/
2. ๅ›ใฎๅใฏใ€‚ - Wikipedia
	https://ja.wikipedia.org/wiki/%25E5%2590%259B%25E3%2581%25AE%25E5%2590%258D%25E3%2581%25AF%25E3%2580%2582
3. ๅ›ใฎๅใฏใ€‚ : ไฝœๅ“ๆƒ…ๅ ฑ - ๆ˜ ็”ป.com
	http://eiga.com/movie/83796/
4. ๅ›ใฎๅใฏใ€‚ - ไฝœๅ“ - Yahoo!ๆ˜ ็”ป
	https://movies.yahoo.co.jp/movie/%25E5%2590%259B%25E3%2581%25AE%25E5%2590%258D%25E3%2581%25AF%25E3%2580%2582/355058/
5. ใ€Žๅ›ใฎๅใฏใ€‚ใ€็ฑณใƒกใƒ‡ใ‚ฃใ‚ขโ€œ็Ÿ›็›พโ€ใ‚’ๆŒ‡ๆ‘˜ใ—ใคใคใ‚‚ใ€Œไธ€ๆตใ€ใจ็ตถ่ณ› | dmenuๆ˜ ็”ป
	https://movie.smt.docomo.ne.jp/article/1053874/
6. ใ€Œๅ›ใฎๅใฏใ€‚ใ€ไบˆๅ‘Š - YouTube
	https://www.youtube.com/watch%3Fv%3Dk4xGqY5IDBE
7. ๅ›ใฎๅใฏใฎใƒใ‚ฟใƒใƒฌ - ใ€ๅ›ใฎๅใฏใ€‚ใ€‘ใ‚ใ‚‰ใ™ใ˜ใ‚„ใƒใ‚ฟใƒใƒฌใ‹ใ‚‰่ˆžๅฐใฎ่–ๅœฐ ...
	https://tabichannel.com/article/102/kiminona
8. ใ€Žๅ›ใฎๅใฏใ€‚ใ€ใฎๆทฑใ™ใŽใ‚‹ใ€Œ15ใ€ใฎ็›ฒ็‚น | ใ‚ทใƒใƒžใ‚บ by ๆพ็ซน
	https://cinema.ne.jp/recommend/kiminonaha2016092717/
9. Amazon.co.jp: ๅ›ใฎๅใฏ: DVD - ใ‚ขใƒžใ‚พใƒณ
	https://www.amazon.co.jp/b%3Fnode%3D5276458051

Examples

>>> from gsearch.googlesearch import search
>>> search('Python')
[('Welcome to Python.org', 'https://www.python.org/'), ('Python (programming language) - Wikipedia', 'https://en.wikipedia.org/wiki/Python_(programming_language)'), ('Python tutorial - TutorialsPoint', 'https://www.tutorialspoint.com/python/'), ('Learn Python (Programming Tutorial for Beginners) - Programiz', 'https://www.programiz.com/python-programming'), ('Learn Python | Codecademy', 'https://www.codecademy.com/learn/learn-python'), ('Learn Python | Codecademy', 'https://www.codecademy.com/en/courses/learn-python/lessons/python-syntax/exercises/welcome'), ('Introduction ยท A Byte of Python', 'https://python.swaroopch.com/'), ('Solve Introduction Questions | Python | HackerRank', 'https://www.hackerrank.com/domains/python')]
>>>
>>> search('Google Search API', num_results=15)
[('Custom Search JSON/Atom API | Custom Search | Google Developers', 'https://developers.google.com/custom-search/json-api/v1/overview'), ('Custom Search | Google Developers', 'https://developers.google.com/custom-search/'), ('Using REST to Invoke the API | Custom Search | Google Developers', 'https://developers.google.com/custom-search/json-api/v1/using_rest'), ('Custom Search Engine - Google', 'https://www.google.com/cse/'), ('What are the alternatives now that the Google web search API has ...', 'https://stackoverflow.com/questions/4082966/what-are-the-alternatives-now-that-the-google-web-search-api-has-been-deprecated'), ('Is there an API for Google search results? - Quora', 'https://www.quora.com/Is-there-an-API-for-Google-search-results'), ('Fetch Google Search Results with the Site Search API - CtrlQ.org', 'https://ctrlq.org/code/20076-google-search-api'), ('Google Custom Search API | ProgrammableWeb', 'https://www.programmableweb.com/api/google-custom-search'), ('Google Search API Alternative | Webhose.io', 'https://webhose.io/google-search-api-alternative'), ('FAROO - Free Search API', 'http://www.faroo.com/hp/api/api.html'), ("Google's Ajax Search API | Search Engine Watch", 'https://searchenginewatch.com/sew/news/2056817/googles-ajax-search-api'), ('Search | GitHub Developer Guide', 'https://developer.github.com/v3/search/'), ('Using the Google SOAP Search API - SEO Chat', 'http://www.seochat.com/c/a/google-optimization-help/using-the-google-soap-search-api/')]

Warning

Overusing this library might lead to your IP being blocked by Google Search servers. Searches through Chrome or another browser might still work but this library will stop working. I recommend keeping a 15 seconds gap after each usage of this library. In most cases, much lower gaps or even continuous use of the library will still work but still this is something to be kept in mind. If you see a 'rate limit' or a 503 error, it's best to stop using the library and try back after some time (~1 minute).

Inspiration

google by Mario Vilas - A library which does almost the same thing except that it uses external dependencies. This library also has some additional optimizations to reduce the chances of hitting rate limit.

Owner
Avi Aryan
Senior Software Engineer at @toptal, Past GSoC Mentor
Avi Aryan
๐ŸŽฅ Stream your favorite movie from the terminal!

Stream-Cli stream-cli is a Python scrapping CLI that combine scrapy and webtorrent in one command for streaming movies from your terminal. Installatio

R E D O N E 379 Dec 24, 2022
Auto Moderation is a powerfull moderation bot

Auto Moderation.py Auto Moderation a powerful Moderation Discord Bot ๐ŸŽญ Futures Moderation Auto Moderation ๐Ÿš€ Installation git clone https://github.co

Gโˆ™MAX 2 Apr 02, 2022
Nyon-stream - A python script that uses webtorrent to stream nyaa videos directly to mpv

nyon-stream A rather shitty script that uses webtorrent to stream nyaa videos di

18 Feb 08, 2022
Tomli is a Python library for parsing TOML. Tomli is fully compatible with TOML v1.0.0.

Tomli A lil' TOML parser Table of Contents generated with mdformat-toc Intro Installation Usage Parse a TOML string Parse a TOML file Handle invalid T

Taneli Hukkinen 313 Dec 26, 2022
Mailjet API implementation in Python

READ THIS FIRST!! This repository isn't compatible with the current Mailjet API (v3) and, as a consequence, is considered deprecated and won't undergo

Rick van Hattem 18 Oct 21, 2022
A twitter multi-tool for OSINT on twitter accounts.

TwitterCheckr A twitter multi-tool for OSINT on twitter accounts. Infomation TwitterCheckr also known as TCheckr is multi-tool for OSINT on twitter a

IRIS 16 Dec 23, 2022
Halcyon is a Matrix bot library created with the intention of being easy to install and use. Inspired by discord.py

Halcyon is a Matrix bot library with the goal of being easy to install and use. The library takes inspiration from discord.py and the Slack li

Wes Ring 19 Jan 06, 2023
An open-source, multipurpose, configurable discord bot that does it all

Spacebot is an open source discord bot that is designed to be fun, easy to use, and replace every other discord bot out there!! Feel free to add a star โญ to the repository to promote the project!

Dhravya Shah 41 Dec 10, 2022
Twitter bot code can be found in twitterBotAPI.py

NN Twitter Bot This github repository is BASED and is yanderedev levels of spaghetti Neural net code can be found in alexnet.py. Despite the name, it

167 Dec 19, 2022
PyMed is a Python library that provides access to PubMed.

IMPORTANT NOTE: I don't have time to maintain this library (as some of you might have noticed). The PubMed API is a little chaotic, without a clear do

Gijs Wobben 143 Dec 21, 2022
Fetch torrent links from nyaa, according to releases by smoke index.

Nyaa - Smoke's index torrent fetcher Description This script parses the local (or online) anime release index (csv format) made by Big Smoke. And uses

Dinank 21 Jun 08, 2022
Using twitter lists as your feed

Twitlists A while ago, Twitter changed their timeline to be algorithmically-fed rather than a simple reverse-chronological feed. In particular, they p

Peyton Walters 5 Nov 21, 2022
A course on getting started with the Twitter API v2 for academic research

Getting started with the Twitter API v2 for academic research Welcome to this '101 course' on getting started with academic research using the Twitter

@TwitterDev 426 Jan 04, 2023
Demo of using Telegram to send alert message

MIAI_Telegram Demo of using Telegram to send alert message Video link: https://youtu.be/oZ9CsIrlMgg #MรฌAI Fanpage: http://facebook.com/miaiblog Group

4 Jun 20, 2021
Python client for the LightOn Muse API

lightonmuse Python bindings to production-ready intelligence primitives powered by state-of-the-art language models. Create. Process. Understand. Lear

LightOn 12 Apr 10, 2022
Criando Lambda Functions para Ingerir Dados de APIs com AWS CDK

LIVE001 - AWS Lambda para Ingerir Dados de APIs Fazer o deploy de uma funรงรฃo lambda com infraestrutura como cรณdigo Lambda vai numa API externa e extra

Andre Sionek 12 Nov 20, 2022
Slack bot for monitoring your Metaflow flows!

Metaflowbot - Slack Bot for your Metaflow flows! Metaflowbot makes it fun and easy to monitor your Metaflow runs, past and present. Imagine starting a

Outerbounds 21 Dec 07, 2022
A small python script which runs a speedtest using speedtest.net and inserts it into a Google Docs Spreadsheet.

speedtest-google-sheets This is a small python script which runs a speedtest using speedtest.net and inserts it into a Google Docs Spreadsheet. Setup

marie 2 Feb 10, 2022
DEPRECATED - Official Python Client for the Discogs API

โš ๏ธ DEPRECATED This repository is no longer maintained. You can still use a REST client like Requests or other third-party Python library to access the

Discogs 483 Dec 31, 2022
A reddit bot that imitates the popular reddit bot "u/repostsleuthbot" to trick people into clicking on a rickroll

Reddit-Rickroll-Bot A reddit bot that imitates the popular reddit bot "u/repostsleuthbot" to trick people into clicking on a rickroll Made with The Py

0 Jul 16, 2022