A tool for researching and analyzing Google search page behavior and structure
Project description
Google Search Resource (GSR)
A tool for researching and analyzing Google search page behavior and structure.
Purpose
GSR is designed for legitimate research purposes:
- Understanding how Google search pages are structured
- Analyzing search result formatting
- Studying how search interfaces change over time
- Educational purposes and web development learning
Installation
From Source
# Clone the repository
git clone https://github.com/yaacov/gsr.git
cd gsr
# Complete setup (create venv, install dependencies and browsers)
make setup
# Activate virtual environment
source venv/bin/activate
Test application
python main.py --help
Usage Examples
Basic Search
from modules.searcher import HumanLikeGoogleSearcher
from modules.enums import SearchStatus
# Simple search with defaults
searcher = HumanLikeGoogleSearcher()
try:
result = searcher.search("python programming")
if result.status == SearchStatus.SUCCESS:
for r in result.results:
print(f"{r['title']}: {r['url']}")
elif result.status == SearchStatus.CAPTCHA_DETECTED:
print("Rate limit reached - stopping research")
finally:
searcher.close()
Development
Setup for Contributors
# Clone and setup
git clone https://github.com/yaacov/gsr.git
cd gsr
# Install with dev dependencies
make install-dev
make install-browsers
# Code quality tools
make format # Auto-format code
make lint # Check code style
make format-check # Check formatting without changes
Building and Publishing
# Build package
make build
# Test on TestPyPI
make publish-test
# Publish to PyPI (production)
make publish
License
MIT License - Copyright (c) 2025 Yaacov Zamir
For educational and research purposes.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file google_search_resource-0.0.1.tar.gz.
File metadata
- Download URL: google_search_resource-0.0.1.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6447e10fbcdff9c9569a7ae0a13f195c5a50cdbb174ffa31d10100f96d7b6752
|
|
| MD5 |
2b6ffa43977604a346c31379cefb65e5
|
|
| BLAKE2b-256 |
9f4e6ea8fe7b77d03c13ef654a1801d5d1ab00455c1bfa511bdc08edc51f9fd4
|
File details
Details for the file google_search_resource-0.0.1-py3-none-any.whl.
File metadata
- Download URL: google_search_resource-0.0.1-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3db748b312b425039db291b590c7bbd669b025c6470faa2820c4ed7fcfbe8b36
|
|
| MD5 |
0a8bdafe1fa799fe1d14bb1bb3b46d37
|
|
| BLAKE2b-256 |
7cbc3be1160bc7e123a20ec5018128d3347080c7bf53f892e785c4b19a4ae2cd
|