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.
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
parselite-0.2.0.tar.gz
(4.6 kB
view details)
Built Distribution
File details
Details for the file parselite-0.2.0.tar.gz
.
File metadata
- Download URL: parselite-0.2.0.tar.gz
- Upload date:
- Size: 4.6 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5237eb8d0825080690903fb2f0e351bef4e40ea4946a44d0ac02b974bcd5aa0 |
|
MD5 | 039f311a266eebef4410de88dfba99d1 |
|
BLAKE2b-256 | 44070287a932b16cec95e1830cba20c52458e4de682a39b1dc5d7c78ace820d5 |
File details
Details for the file parselite-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: parselite-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.9 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8def86e7cd2cbb916c2dd6b2f4453f6abaef01c4ce59b58980958eb455069c15 |
|
MD5 | fea1c8375bafbd27ca21d51517ec6d10 |
|
BLAKE2b-256 | ca8544463ff150034e3b6cec928e360b618bb919133d341e3dbcf96890f1ae1e |