File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55[ ![ Python] ( https://img.shields.io/badge/python-3.10%2B-blue )] ( https://python.org )
66[ ![ License: MIT] ( https://img.shields.io/badge/license-MIT-green )] ( LICENSE )
77[ ![ CI] ( https://github.com/FAAQJAVED/Leadhunter_Pro/actions/workflows/ci.yml/badge.svg )] ( https://github.com/FAAQJAVED/Leadhunter_Pro/actions )
8- [ ![ Tests] ( https://img.shields.io/badge/tests-passing -brightgreen )] ( tests/ )
8+ [ ![ Tests] ( https://img.shields.io/badge/tests-72%20passing -brightgreen )] ( tests/ )
99[ ![ Platform] ( https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey )] ( https://github.com/FAAQJAVED/Leadhunter_Pro )
1010
1111---
@@ -302,6 +302,22 @@ Leadhunter_Pro/
302302
303303---
304304
305+ ---
306+
307+ ## Tech Stack
308+
309+ | Library | Role |
310+ | ---| ---|
311+ | ` httpx[http2] ` | Phase 1 — async HTTP/2 requests for search engine scraping |
312+ | ` beautifulsoup4 ` | Phase 1 — HTML parsing for search result extraction |
313+ | ` lxml ` | Phase 1 — fast HTML/XML parser (beautifulsoup backend) |
314+ | ` playwright ` | Phase 2 — headless Chromium fallback for JS-rendered sites |
315+ | ` requests ` | Phase 2 — lightweight HTTP GET for contact enrichment pass |
316+ | ` openpyxl ` | Excel output with colour-coded rows and Summary sheet |
317+ | ` pyyaml ` | YAML config loading for Phase 2 settings |
318+ | ` tqdm ` | Live terminal progress bar with ETA for both phases |
319+ | ` python-dotenv ` | Optional — loads BING_PROXY from .env file |
320+
305321## License
306322
307323MIT © 2026 [ FAAQJAVED] ( https://github.com/FAAQJAVED ) — see [ LICENSE] ( LICENSE )
You can’t perform that action at this time.
0 commit comments