An automated search tool designed for educational purposes to demonstrate web automation techniques using Python. This project showcases browser automation, JSON data management, and GUI interaction programming concepts.
This project is strictly for educational and learning purposes only.
- The author does not encourage the use of this tool to violate any platform's Terms of Service
- Use at your own risk and responsibility
- Always earn points honestly and follow platform guidelines
- Respect rate limits and automation policies
- Consider the ethical implications of automation
- Smart Browser Automation: Automated search queries using PyAutoGUI
- Random Query Generation: Creates diverse search patterns from word databases
- Configurable Parameters: Adjustable timing and search count settings
- JSON-Based Data Management: Easy-to-modify word and phrase databases
- Keyboard Interrupt Support: Safe termination with Ctrl+C
- Multi-Tab Management: Efficient tab opening and closing automation
- Extensible Architecture: Easy to modify and extend functionality
points_redeemer/
โโโ main.py # Main desktop automation script
โโโ mobile.py # Mobile device automation variant
โโโ add.py # Interactive word addition utility
โโโ add_start.py # Starting phrase management tool
โโโ words.json # Primary search vocabulary database
โโโ start.json # Query starting phrases collection
โโโ examples/ # Example configurations and usage
โโโ README.md # Project documentation
- Python: 3.6 or higher
- Operating System: Windows, macOS, or Linux
- Browser: Any modern web browser
- Dependencies:
pyautogui >= 0.9.50 pathlib (built-in) json (built-in) random (built-in) time (built-in) webbrowser (built-in)
-
Clone the repository:
git clone https://github.com/OmGoyal27/Microsoft-points-grinder cd Mictosoft-points-grinder -
Install dependencies:
-
Install dependencies:
pip install pyautogui
-
Verify JSON files exist:
- Ensure
words.jsonandstart.jsonare present - Use the provided management tools to populate them if needed
- Ensure
-
Configure browser:
- Set your default browser to your preferred choice
- Ensure browser allows automation (disable pop-up blockers if needed)
The primary automation script that performs search operations:
python main.pyKey Configuration Variables:
SLEEP_TIME_PER_TAB = 3 # Delay between tab operations (adjust for system performance)
NUMBER_OF_SEARCHES = 31 # Total number of searches to performExecution Flow:
- Loads word databases from JSON files
- Opens Bing rewards page in browser
- For each search iteration:
- Opens new browser tab (
Ctrl+T) - Generates random search query (1-10 words)
- Types the query and presses Enter
- Waits 4 seconds for page load
- Closes tab (
Ctrl+W) - Brief pause before next iteration
- Opens new browser tab (
Search Pattern Generation:
- Selects random starting phrase from
start.json - Adds 1-10 random words from
words.json - Creates natural-looking search queries
python add.pyInteractive tool for expanding the general vocabulary:
- Type words and press Enter to add them
- Type "save" to commit changes to
words.json - Useful for adding domain-specific terms
python add_start.pyConfigure search query beginnings:
- Examples: "What is", "How to", "Why does", "Where can"
- These create more natural search patterns
- Stored in
start.json
Alternative script designed for mobile device automation:
python mobile.py- Uses "What is the meaning of [word]" search pattern
- Optimized for touch-based interfaces
Modify these values in main.py based on your system:
SLEEP_TIME_PER_TAB = 3 # Increase for slower systems
NUMBER_OF_SEARCHES = 31 # Adjust search count as needed
time.sleep(4) # Page load wait time
time.sleep(0.5) # Inter-search delayControl query complexity by modifying the random length generator:
length = random.randint(1, 10) # Adjust min/max word count- Keyboard Interrupt: Press
Ctrl+Cto safely stop execution - Graceful Error Handling: Script continues if individual searches fail
- Configurable Delays: Prevents overwhelming target servers
Checkout exmamples folder for it.
- Screen Resolution: PyAutoGUI depends on screen coordinates
- Browser Compatibility: Tested with major browsers (Chrome, Firefox, Edge)
- Performance: Timing may need adjustment on different systems
- Focus Requirements: Browser window must be active during execution
- Modern platforms employ sophisticated bot detection
- Randomized timing helps appear more human-like
- Consider longer delays between operations
- Vary search patterns and vocabulary
- Start Small: Begin with fewer searches to test system compatibility
- Monitor Performance: Watch for browser lag or system slowdown
- Respect Limits: Don't overwhelm target servers
- Stay Updated: Keep dependencies current for security
PyAutoGUI not working:
pip install --upgrade pyautoguiBrowser focus issues:
- Ensure browser window is visible and active
- Disable browser extensions that might interfere
- Check screen resolution compatibility
JSON file errors:
- Validate JSON syntax using online validators
- Ensure proper encoding (UTF-8)
- Check file permissions
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/improvement) - Create a Pull Request
This project is licensed under the MIT License - see LICENCE.txt for more details.
Important Note: While this software is open source under the MIT License, users are still responsible for ensuring their usage complies with the terms of service of any platforms they interact with. The license does not grant permission to violate third-party terms of service or engage in prohibited activities.
- Educational Focus: Use for learning automation concepts
- Respect ToS: Always comply with platform terms of service
- Fair Play: Don't seek unfair advantages
- Resource Consideration: Be mindful of server load and costs
This project demonstrates:
- Python automation techniques
- GUI interaction programming
- JSON data management
- Error handling and user experience
- Web browser automation concepts
Remember: The most valuable rewards come from genuine learning and ethical practices! ๐
Happy Learning! ๐