Skip to main content

A powerful web content fetcher and processor

Project description

SearchLite 🔍

A lightning-fast, asynchronous real-time Google Search API wrapper with built-in optimization for batch queries.

PyPI version Python 3.7+ License: MIT

Features ✨

  • 🚀 Real-time Google search results
  • 🔄 Asynchronous batch searching
  • 🎯 Optimized for multiple queries
  • 🧹 Automatic duplicate removal
  • 🎨 Optional progress animation
  • 🔧 Configurable worker pool

Installation 📦

pip install searchlite

Quick Start 🚀

Basic Search

from searchlite import RealTimeGoogleSearchProvider

# Initialize the search provider
searcher = RealTimeGoogleSearchProvider()

# Single query search
results = searcher.search("Python programming", max_urls=5)
print(results)

Batch Search

# Multiple queries at once
queries = [
    "machine learning basics",
    "data science projects",
    "python best practices"
]

# Batch search with async execution
results = searcher.search_batch(queries, max_urls=10)
print(results)

Advanced Usage 🔧

Custom Configuration

searcher = RealTimeGoogleSearchProvider(
    search_provider="google",  # Search engine to use
    chromedriver_path="/custom/path/chromedriver",  # Custom ChromeDriver path
    max_workers=4,  # Number of concurrent workers
    animation=True  # Enable progress animation
)

Async Implementation

import asyncio

async def main():
    searcher = RealTimeGoogleSearchProvider()
    queries = ["AI news", "Python updates", "Tech trends"]
    
    # Using the internal async method
    results = await searcher._async_batch_search(queries, max_urls=5)
    return results

# Run async function
results = asyncio.run(main())

Features Explained 📚

URL Processing

  • Automatic hash fragment removal
  • Duplicate URL filtering
  • Configurable result limit
  • Maintains original URL order

Batch Processing

  • Concurrent execution
  • Memory efficient
  • Automatic error handling
  • Result aggregation

Requirements 🛠️

  • Python 3.7+
  • ChromeDriver
  • Required Python packages:
    • selenium
    • asyncio
    • typing

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments 🙏

  • Inspired by the need for efficient real-time search capabilities
  • Built with ❤️ for the Python community
  • Special thanks to all contributors

Support 💬

For support, please open an issue in the GitHub repository or contact the maintainers.


Made with ❤️

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ailite-0.2.0.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

ailite-0.2.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file ailite-0.2.0.tar.gz.

File metadata

  • Download URL: ailite-0.2.0.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for ailite-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b87c4e27511192263912945bf575377d360a814b4501c1dd6775ef79db2ce8d5
MD5 5d0f69804f2d554b61d61b69080bbbd8
BLAKE2b-256 23c74eb9088ce5464acccfe92c121eba70040de439eeae8fd865ecf12a97d86e

See more details on using hashes here.

File details

Details for the file ailite-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: ailite-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

File hashes

Hashes for ailite-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8ef76472e6512f4d2808327e322b7e83d94f85920a3a384331d41940224e76bd
MD5 055b8fa81c24b1cf1b11165902e56e50
BLAKE2b-256 3ad2d3adbde95730bfe5d3ded5bbd26e66e67f02de2116c2464aeda08dbf5b5c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page