Metadata-Version: 2.1
Name: search-engine-parser
Version: 0.5.4
Summary: scrapes search engine pages for query titles, descriptions and links
Home-page: https://github.com/bisoncorps/search-engine-parser
Author: Domnan Diretnan, Mmadu Manasseh
Author-email: diretnandomnan@gmail.com
License: MIT
Project-URL: Documentation, https://search-engine-parser.readthedocs.io/en/latest
Project-URL: Source, https://github.com/bisoncorps/search-engine-parser
Description: # Search Engine Parser
        
        <span><i>"If it is a search engine, then it can be parsed"</i> - Some random guy</span>
        
        ![Demo](assets/animate.gif)
        
        [![Python 3.5|3.6|3.7|3.8](https://img.shields.io/badge/python-3.5%7C3.6%7C3.7%7C3.8-blue)](https://www.python.org/downloads/)
        [![PyPI version](https://badge.fury.io/py/search-engine-parser.png)](https://badge.fury.io/py/search-engine-parser)
        [![Build Status](https://travis-ci.com/bisoncorps/search-engine-parser.svg?branch=master)](https://travis-ci.com/bisoncorps/search-engine-parser)
        [![Documentation Status](https://readthedocs.org/projects/search-engine-parser/badge/?version=latest)](https://search-engine-parser.readthedocs.io/en/latest/?badge=latest)
        [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
        [![All Contributors](https://img.shields.io/badge/all_contributors-10-orange.svg?style=flat-square)](#contributors)
        <hr/>
        
        Package to query popular search engines and scrape for result titles, links and descriptions. Aims to scrape the widest range of search engines.
        View all [supported engines](https://github.com/bisoncorps/search-engine-parser/blob/master/docs/supported_engines.md)
        
        - [Search Engine Parser](#search-engine-parser)
          - [Popular Supported Engines](#popular-supported-engines)
          - [Installation](#installation)
          - [Development](#development)
          - [Code Documentation](#code-documentation)
          - [Running the tests](#running-the-tests)
          - [Usage](#usage)
            - [Code](#code)
            - [Command line](#command-line)
          - [Code of Conduct](#code-of-conduct)
          - [Contribution](#contribution)
          - [License (MIT)](#license-mit) 
        ## Popular Supported Engines
        
        Some of the popular search engines include:
        
        - Google
        - DuckDuckGo
        - GitHub
        - StackOverflow
        - Baidu
        - YouTube
        
        View all [supported engines](https://github.com/bisoncorps/search-engine-parser/blob/master/docs/supported_engines.md)
        
        ## Installation
        
        ```bash
            # install only package dependencies
            pip install search-engine-parser
            # Installs `pysearch` cli  tool
            pip install "search-engine-parser[cli]"
        ```
        
        ## Development
        
        Clone the repository
        
        ```bash
            git clone git@github.com:bisoncorps/search-engine-parser.git
        ```
        
        Create virtual environment and install requirements
        
        ```bash
            mkvirtualenv search_engine_parser
            pip install -r requirements/dev.txt
        ```
        
        
        ## Code Documentation
        
        Found on [Read the Docs](https://search-engine-parser.readthedocs.io/en/latest)
        
        ## Running the tests
        
        ```bash
            pytest
        ```
        
        ## Usage
        
        ### Code
        
        Query Results can be scraped from popular search engines as shown in the example snippet below
        
        ```python
            from search_engine_parser import YahooSearch, GoogleSearch, BingSearch
            import pprint
        
            search_args = ('preaching to the choir', 1)
            gsearch = GoogleSearch()
            ysearch = YahooSearch()
            bsearch = BingSearch()
            gresults = gsearch.search(*search_args)
            yresults = ysearch.search(*search_args)
            bresults = bsearch.search(*search_args)
            a = {
                "Google": gresults,
                "Yahoo": yresults,
                "Bing": bresults}
            # pretty print the result from each engine
            for k, v in a.items():
                print(f"-------------{k}------------")
                    pprint.pprint(v)
        
            # print first title from google search
            print(gresults["titles"][0])
            # print 10th link from yahoo search
            print(yresults["links"][9])
            # print 6th description from bing search
            print(bresults["descriptions"][5])
        ```
        
        ### Command line
        
        Search engine parser comes with a CLI tool known as `pysearch` e.g
        
        ```bash
        pysearch --engine bing search --query "Preaching to the choir" --type descriptions
        ```
        
        Result
        
        ```bash
        'Preaching to the choir' originated in the USA in the 1970s. It is a variant of the earlier 'preaching to the converted', which dates from England in the late 1800s and has the same meaning. Origin - the full story 'Preaching to the choir' (also sometimes spelled quire) is of US origin.
        ```
        
        ![Demo](assets/example.gif)
        
        There is a needed argument for the CLI i.e `-e Engine` followed by either of two subcommands in the CLI i.e `search` and `summary`
        
        ```bash
        
        SearchEngineParser
        
        positional arguments:
          {search,summary}      help for subcommands
            search              search help
            summary             summary help
        
        optional arguments:
          -h, --help            show this help message and exit
          -e ENGINE, --engine ENGINE
                                Engine to use for parsing the query e.g google, yahoo,
                                bing, duckduckgo (default: google)
        ```
        
        `summary` just shows the summary of each search engine added with descriptions on the return
        
        ```bash
        pysearch --engine google summary 
        ```
        
        Full arguments for the `search` subcommand shown below
        
        ```bash
        
        usage: pysearch search [-h] -q QUERY [-p PAGE] [-t TYPE] [-r RANK]
        
        optional arguments:
          -h, --help            show this help message and exit
          -q QUERY, --query QUERY
                                Query string to search engine for
          -p PAGE, --page PAGE  Page of the result to return details for (default: 1)
          -t TYPE, --type TYPE  Type of detail to return i.e full, links, desciptions
                                or titles (default: full)
          -r RANK, --rank RANK  ID of Detail to return e.g 5 (default: 0)
        ``` 
        
        ## Code of Conduct
        
        All actions performed should adhere to the [code of conduct](https://github.com/bisoncorps/search-engine-parser/blob/master/CODE_OF_CONDUCT.md)
        
        
        ## Contribution
        
        Before making any contribution, please follow the [contribution guide](https://github.com/bisoncorps/search-engine-parser/blob/master/CONTRIBUTING.md)
        
        ## License (MIT)
        
        This project is opened under the [MIT 2.0 License](https://github.com/bisoncorps/search-engine-parser/blob/master/LICENSE) which allows very broad use for both academic and commercial purposes.
        
        ## Contributors ✨
        
        Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
        
        <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
        <!-- prettier-ignore-start -->
        <!-- markdownlint-disable -->
        <table>
          <tr>
            <td align="center"><a href="https://github.com/Rexogamer"><img src="https://avatars0.githubusercontent.com/u/42586271?v=4" width="100px;" alt="Ed Luff"/><br /><sub><b>Ed Luff</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/commits?author=Rexogamer" title="Code">💻</a></td>
            <td align="center"><a href="http://diretnandomnan.webnode.com"><img src="https://avatars3.githubusercontent.com/u/23453888?v=4" width="100px;" alt="Diretnan Domnan"/><br /><sub><b>Diretnan Domnan</b></sub></a><br /><a href="#infra-deven96" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=deven96" title="Tests">⚠️</a> <a href="#tool-deven96" title="Tools">🔧</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=deven96" title="Code">💻</a></td>
            <td align="center"><a href="http://mensaah.github.io"><img src="https://avatars3.githubusercontent.com/u/24734308?v=4" width="100px;" alt="MeNsaaH"/><br /><sub><b>MeNsaaH</b></sub></a><br /><a href="#infra-MeNsaaH" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=MeNsaaH" title="Tests">⚠️</a> <a href="#tool-MeNsaaH" title="Tools">🔧</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=MeNsaaH" title="Code">💻</a></td>
            <td align="center"><a href="https://github.com/PalAditya"><img src="https://avatars2.githubusercontent.com/u/25523604?v=4" width="100px;" alt="Aditya Pal"/><br /><sub><b>Aditya Pal</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/commits?author=PalAditya" title="Tests">⚠️</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=PalAditya" title="Code">💻</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=PalAditya" title="Documentation">📖</a></td>
            <td align="center"><a href="http://energized.pro"><img src="https://avatars1.githubusercontent.com/u/27774996?v=4" width="100px;" alt="Avinash Reddy"/><br /><sub><b>Avinash Reddy</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/issues?q=author%3AAvinashReddy3108" title="Bug reports">🐛</a></td>
            <td align="center"><a href="https://github.com/Iamdavidonuh"><img src="https://avatars3.githubusercontent.com/u/37768509?v=4" width="100px;" alt="David Onuh"/><br /><sub><b>David Onuh</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/commits?author=Iamdavidonuh" title="Code">💻</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=Iamdavidonuh" title="Tests">⚠️</a></td>
            <td align="center"><a href="http://simakis.me"><img src="https://avatars2.githubusercontent.com/u/8322266?v=4" width="100px;" alt="Panagiotis Simakis"/><br /><sub><b>Panagiotis Simakis</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/commits?author=sp1thas" title="Code">💻</a> <a href="https://github.com/bisoncorps/search-engine-parser/commits?author=sp1thas" title="Tests">⚠️</a></td>
          </tr>
          <tr>
            <td align="center"><a href="https://github.com/reiarthur"><img src="https://avatars2.githubusercontent.com/u/20190646?v=4" width="100px;" alt="reiarthur"/><br /><sub><b>reiarthur</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/commits?author=reiarthur" title="Code">💻</a></td>
            <td align="center"><a href="http://ashokkumarta.blogspot.com/"><img src="https://avatars0.githubusercontent.com/u/5450267?v=4" width="100px;" alt="Ashokkumar TA"/><br /><sub><b>Ashokkumar TA</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/commits?author=ashokkumarta" title="Code">💻</a></td>
            <td align="center"><a href="https://github.com/ateuber"><img src="https://avatars2.githubusercontent.com/u/44349054?v=4" width="100px;" alt="Andreas Teuber"/><br /><sub><b>Andreas Teuber</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/commits?author=ateuber" title="Code">💻</a></td>
            <td align="center"><a href="https://github.com/mi096684"><img src="https://avatars3.githubusercontent.com/u/22032932?v=4" width="100px;" alt="mi096684"/><br /><sub><b>mi096684</b></sub></a><br /><a href="https://github.com/bisoncorps/search-engine-parser/issues?q=author%3Ami096684" title="Bug reports">🐛</a></td>
          </tr>
        </table>
        
        <!-- markdownlint-enable -->
        <!-- prettier-ignore-end -->
        <!-- ALL-CONTRIBUTORS-LIST:END -->
        
        This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
        
Keywords: search-engine         search         parser         google         yahoo         bing         yandex         stackoverflow         github         baidu
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Provides-Extra: cli
