{"id":28417537,"url":"https://github.com/asdmir786/automatic-edge-browser-web-searcher","last_synced_at":"2025-06-26T12:31:05.636Z","repository":{"id":294736432,"uuid":"987908938","full_name":"Asdmir786/Automatic-Edge-Browser-Web-Searcher","owner":"Asdmir786","description":"Automate Bing searches in Microsoft Edge using Python and Playwright. This tool loads queries from a file, simulates human-like behavior, and manages Edge profiles for seamless automation. Ideal for cross-platform use with detailed logging and error handling. Requires Python 3.13.4+ and Edge browser.","archived":false,"fork":false,"pushed_at":"2025-06-17T19:16:39.000Z","size":47360,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-17T19:43:47.539Z","etag":null,"topics":["automatic","automation","automation-playwright","edge","microsoft-edge","microsoft-edge-browser","playwright","playwright-python","python","python3","search","searcher"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Asdmir786.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-21T19:11:21.000Z","updated_at":"2025-06-17T19:14:35.000Z","dependencies_parsed_at":"2025-06-08T17:28:34.222Z","dependency_job_id":"4836153a-5c0b-4c27-aed1-63d25739235f","html_url":"https://github.com/Asdmir786/Automatic-Edge-Browser-Web-Searcher","commit_stats":null,"previous_names":["asdmir786/automatic-edge-browser-web-searcher"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Asdmir786/Automatic-Edge-Browser-Web-Searcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asdmir786%2FAutomatic-Edge-Browser-Web-Searcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asdmir786%2FAutomatic-Edge-Browser-Web-Searcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asdmir786%2FAutomatic-Edge-Browser-Web-Searcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asdmir786%2FAutomatic-Edge-Browser-Web-Searcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Asdmir786","download_url":"https://codeload.github.com/Asdmir786/Automatic-Edge-Browser-Web-Searcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asdmir786%2FAutomatic-Edge-Browser-Web-Searcher/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262067765,"owners_count":23253668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automatic","automation","automation-playwright","edge","microsoft-edge","microsoft-edge-browser","playwright","playwright-python","python","python3","search","searcher"],"created_at":"2025-06-04T06:39:47.516Z","updated_at":"2025-06-26T12:31:05.630Z","avatar_url":"https://github.com/Asdmir786.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔍 Automatic Edge Browser Web Searcher (Python)\n\n## 📋 Overview\n\nThis Python application automates Microsoft Edge browser searches using Playwright. It loads search queries from a text file, removes duplicates, and performs random Bing searches with human-like behavior simulation.\n\n### ✨ Key Features\n\n- 🌐 **Cross-platform support** (Windows, macOS, Linux)\n- 🔍 **Automated Edge browser control** via Playwright\n- 👤 **Real Edge profile integration** with automatic copying\n- 🎲 **Random query selection** without repetition\n- 🤖 **Human-like typing simulation** with random delays\n- 📊 **Progress tracking** with colored console output\n- 🛡️ **Comprehensive error handling** and retry logic\n- 📝 **Detailed logging** for debugging\n- ⚙️ **Modern Python 3.13.4+ features**\n\n## 🚀 Quick Start\n\nTo get started quickly, follow these steps:\n\n1. **Install Python 3.13+** (if you don't already have it). Ensure `python` is on your PATH.\n2. **Download or clone** this repository.\n3. **Open an elevated terminal** (Administrator on Windows, or a root-privileged shell on Linux/macOS) inside the project folder.\n4. **Run the automated setup script**:\n\n   ```bash\n   python setup.py\n   ```\n\n   The script WILL:\n   • create a dedicated virtual environment (`.venv`)\n   • install every required Python package\n   • download Playwright's Edge browser build\n   • verify administrator privileges\n\n5. When it finishes, **activate the virtual environment** as instructed on-screen, then start the program:\n\n   ```bash\n   python main.py\n   ```\n\nThat's it — the setup script downloads the browser build and installs every dependency for you, so no additional manual steps are needed.\n\n## 📁 Project Structure\n\n```\nAutomatic-Edge-Browser-Web-Searcher/\n└── src/\n    ├── main.py              # Main application script\n    ├── process_killer.py    # Utility to kill processes locking files\n    ├── requirements.txt     # Python dependencies\n    ├── setup.py             # Automated setup script\n    ├── queries.txt          # Search queries (1000+ included)\n    └── README.md            # Documentation file\n```\n\n## 🔧 Configuration\n\n### Search Queries\n\nEdit `queries.txt` to customize search queries:\n- One query per line\n- Comments start with `#`\n- Duplicates are automatically removed\n\n### Edge Profiles\n\nThe application automatically:\n1. **Detects** available Edge profiles\n2. **Lists** them for user selection\n3. **Creates** temporary copies to avoid conflicts\n4. **Uses** persistent browser context\n\n### Process Killer Utility\n\nIf you encounter file locking issues (WinError 32) during profile copying, use the included `process_killer.py` utility:\n\n```bash\npython src/process_killer.py Cookies\n```\n\nThis utility will:\n1. **Find** processes locking the specified file (e.g., \"Cookies\")\n2. **List** them with their PIDs and names\n3. **Allow** you to safely terminate the locking process\n4. **Require** administrator privileges (auto-elevates if needed)\n\n## 🖥️ Platform Support\n\n| Platform | Edge Profile Location | Status |\n|----------|----------------------|--------|\n| **Windows** | `%LOCALAPPDATA%\\Microsoft\\Edge\\User Data` | ✅ Fully Supported |\n| **macOS** | `~/Library/Application Support/Microsoft Edge` | ✅ Supported |\n| **Linux** | `~/.config/microsoft-edge` | ✅ Supported |\n\n## 🔍 How It Works\n\n1. **System Detection**: Identifies OS and Edge installation\n2. **Profile Discovery**: Finds available Edge user profiles\n3. **Query Loading**: Reads and deduplicates search queries\n4. **Profile Selection**: User chooses which profile to use\n5. **Safe Copying**: Creates temporary profile copy\n6. **Browser Launch**: Starts Edge with Playwright automation\n7. **Search Execution**: Performs random searches with human-like delays\n8. **Progress Tracking**: Shows real-time progress and results\n\n## 🛠️ Advanced Usage\n\n### Custom Browser Arguments\n\nModify the `args` list in `main.py` to customize browser behavior:\n\n```python\nargs=[\n    \"--no-sandbox\",\n    \"--disable-features=ImprovedCookieControls\",\n    \"--disable-sync\",\n    # Add your custom arguments here\n]\n```\n\n### Logging Configuration\n\nLogs are automatically saved to:\n- `log_debug.txt` (development mode)\n- `log_release.txt` (production mode)\n\n### Error Handling\n\nThe application includes robust error handling for:\n- Network connectivity issues\n- Browser launch failures\n- Profile access problems\n- Search execution errors\n\n## 🔒 Security \u0026 Privacy\n\n- **Profile Isolation**: Uses temporary profile copies\n- **No Data Collection**: All searches are performed locally\n- **Safe Automation**: Respects browser security features\n- **Clean Cleanup**: Temporary files are managed automatically\n\n## 🐛 Troubleshooting\n\n### Common Issues\n\n**\"Playwright not installed\"**\n```bash\npip install playwright\nplaywright install\n```\n\n**\"No Edge profiles found\"**\n- Ensure Microsoft Edge is installed and has been run at least once\n- Check if Edge profiles exist in the expected location\n\n**\"Browser launch failed\"**\n- Try running with administrator privileges\n- Ensure Edge browser is not running\n- Check antivirus software isn't blocking automation\n\n**\"Permission denied\"**\n- Close all Edge browser windows\n- Run terminal/command prompt as administrator\n- Check file permissions in the project directory\n\n### Debug Mode\n\nRun with Python's debug flag for verbose output:\n```bash\npython -O main.py  # Optimized mode\npython main.py     # Debug mode (default)\n```\n\n## 📊 Performance\n\n- **Startup Time**: ~2-5 seconds\n- **Search Speed**: ~3-5 seconds per query\n- **Memory Usage**: ~50-100MB\n- **CPU Usage**: Low during searches\n\n## 🔄 Migration from C# Version\n\nThis Python version maintains all core features from the original C# implementation:\n\n### ✅ Retained Features\n- Edge profile management\n- Query deduplication\n- Human-like search simulation\n- Progress tracking\n- Error handling and retries\n- Logging system\n\n### 🆕 New Features\n- Cross-platform compatibility\n- Modern Python async/await patterns\n- Enhanced error messages\n- Improved profile copying\n- Better OS detection\n\n### 🔄 Changes\n- Removed Windows 10 restriction\n- Simplified browser installation\n- Enhanced cross-platform support\n- Modern Python 3.13.4+ features\n\n## 📝 License\n\nThis project is licensed under the terms specified in the LICENSE file.\n\n## 🤝 Contributing\n\nContributions are welcome! Please:\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test thoroughly\n5. Submit a pull request\n\n## 📞 Support\n\nFor issues and questions:\n1. Check the troubleshooting section\n2. Review the log files\n3. Create an issue with detailed information\n\n---\n\n**Made with ❤️ using Python 3.13.4+ and Playwright**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasdmir786%2Fautomatic-edge-browser-web-searcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasdmir786%2Fautomatic-edge-browser-web-searcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasdmir786%2Fautomatic-edge-browser-web-searcher/lists"}