Searchor is an all-in-one PyPi Python Library that simplifies web scraping, obtaining information on an topic, and generating search query URLs. Searchor is an a efficient tool for Python developers, with many web development needs in one, with support of over 100+ Engines and custom engines allowed, making it easy for developers to use for their web programming needs in Python without relying on many third-party dependencies. Furthermore, Searchor has a wide range of support, including command line interface and pip.
Python 3.7+ is required
# MacOS / Linux (via Terminal)
python3 -m pip install -U searchor
# Windows (via CMD Prompt)
py -3 -m pip install -U searchor
>>> from searchor import Engine
>>> Engine.Google.search("Hello, World!"))
'https://www.google.com/search?q=Hello%2C%20World%21'
>>> from searchor import Engine
>>> Engine.new("Colgate", "https://www.colgate.com/en-us/search/all?term=")
>>> Engine.Colgate.search("Hi world!")
'https://www.colgate.com/en-us/search/all?term=Hi%20world!"
Searchor CLI Quick Start
$ searchor Google "Hello World!" --copy
>>> from searchor import Information
>>> Information.scrape("https://google.com")
>>> '{'title': 'Google', 'paragraphs': [<p style="font-size:8pt;color:#70757a">© 2023 - <a href="/intl/en/policies/privacy/">Privacy</a> - <a href="/intl/en/policies/terms/">Terms</a></p>]}'
>>> from searchor import Information
>>> Information.getinfo("GitHub")
>>> 'GitHub, Inc. is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.'
Take a look at more examples in the examples folder!
Note: Engine names follow the UpperCamelCase convention.(eg: ChromeWebStore).
Building the docker image
$ docker build -t searchor .
Running searchor on the docker container
$ docker run --rm -it searchor sh
/usr/src/searchor/examples # python searchamazon.py
https://www.amazon.com/s?k=Hello%2C%20World%21
v2.5.0
- [ADDED] Added a new Enum class
Information
. - [ADDED] Added
getinfo
function in theInformation
Enum to gather information about a given topic, using Wikipedia. - [ADDED] Add
web_scraper
function in theInformation
Enum, to web scrape a URL that is given. - [ADDED] Added bs4 and requests as dependencies.
- [MODIFIED] The Searchor Package is now officially becoming a library, and is therefore no longer considered a package.
v2.5.2
- [FIXED] Fixed issue with web scraping, with attribute errors, and CLI issues
Instead of different functions for each engine, Searchor v2.2.0
uses a single function with an Engine
enum. This makes it easier to use and maintain. If you're migrating from v2.0.0
, compare the differences between the following snippets:
# Searchor 2.0.0
from searchor import search, Engine
search("Hello, World!", Engine.Google)
# Searchor v2.2.0
from searchor import Engine
Engine.Google.search("Hello, World!")
Take a look at the contributing guidelines!