dacrab/maps-lead-scraper

GitHub: dacrab/maps-lead-scraper

一个专门从 Google Maps 批量抓取商业信息并自动访问商家网站提取邮箱和电话号码的线索收集工具。

Stars: 0 | Forks: 0

# Maps Lead Scraper 从 Google Maps 抓取商业线索,并从其网站中提取联系方式。 ![Python](https://img.shields.io/badge/python-3.9+-blue.svg) ![Playwright](https://img.shields.io/badge/playwright-v1.58+-orange.svg) ![License](https://img.shields.io/badge/license-MIT-blue.svg) ## 功能特性 - 自动滚动 Google Maps 以针对每个查询收集最多列表 - 自动检测直接命中的搜索(单一结果页面) - 绕过 Cookie 同意屏幕 - 通过访问网站提取电子邮件和电话号码来丰富每个列表 - 实时仪表盘,包含实时日志面板、过滤功能和 CSV 导出 - 可折叠侧边栏,可调整大小的日志面板,完整的移动端支持 ## 技术栈 - **FastAPI + uvicorn** — 异步 Web 服务器, scraper 运行在同一事件循环中 - **Playwright** — 无头 Chromium 浏览器自动化 - **Tailwind CSS + Alpine.js** — 前端,无构建步骤 ## 安装 ``` git clone https://github.com/dacrab/maps-lead-scraper.git cd maps-lead-scraper pip install -r requirements.txt playwright install chromium ``` ## 使用方法 ``` python3 main.py ``` 打开 `http://localhost:8000`,进入 **Settings**,配置你的搜索词和地点,然后点击 **Start**。 ## 配置说明 | Setting | Description | | :--- | :--- | | **Search Terms** | Comma-separated business types, e.g. `Plumbers, Dentists` | | **Locations** | Comma-separated cities or areas, e.g. `New York, London` | | **Max Results** | Per-query limit. `0` = unlimited | | **Headless** | Run browser in background (recommended) or visible for debugging | | **Concurrency** | Number of parallel tabs for website enrichment | ## 项目结构 ``` main.py # Scraper + FastAPI server templates/ └── index.html # Dashboard + Settings SPA static/ # Logo, favicon contacts.csv # Auto-saved leads config.json # Auto-saved settings ``` ## 许可证 MIT
标签:Alpine.js, AV绕过, B2B 线索, Chromium 无头浏览器, CSV 导出, FastAPI, Google Maps 爬虫, Playwright, Python, Tailwind CSS, URL抓取, Web自动化, 全栈应用, 反爬虫绕过, 后端开发, 后端开发, 商业数据, 商业线索挖掘, 实时仪表盘, 客户联系方式抓取, 市场获客工具, 开源情报 (OSINT), 异步编程, 数字取证, 数据导出, 数据抓取, 数据清洗, 无后门, 特征检测, 电话号码提取, 自动化脚本, 逆向工具, 邮件提取