EhsanShahbazii/Neshan-Maps-Scraper
GitHub: EhsanShahbazii/Neshan-Maps-Scraper
基于 Playwright 的 Neshan Maps 地图数据爬虫,支持关键词搜索、批量地点信息提取与多格式导出。
Stars: 5 | Forks: 0
📍 一个强大、多彩且隐蔽的 Neshan Maps 爬虫
搜索商家,提取详细信息,并导出为 CSV、JSON、SQLite 等格式。
███╗ ██╗███████╗███████╗██╗ ██╗ █████╗ ███╗ ██╗ ████╗ ██║██╔════╝██╔════╝██║ ██║██╔══██╗████╗ ██║ ██╔██╗ ██║█████╗ ███████╗███████║███████║██╔██╗ ██║ ██║╚██╗██║██╔══╝ ╚════██║██╔══██║██╔══██║██║╚██╗██║ ██║ ╚████║███████╗███████║██║ ██║██║ ██║██║ ╚████║ ╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ## ✨ 功能 - 🔍 **搜索任意查询** 在 [Neshan Maps](https://neshan.org/maps) 上(餐厅、商店、服务……) - 📋 **提取丰富数据**:名称、类别、地址、电话、网站、营业时间、评分、评论 - 🎨 **美观的彩色控制台输出** 带进度条 - 🥷 **反检测**措施:随机 user-agents、可配置延迟、隐蔽滚动 - 📁 **多种导出格式** – CSV、JSON、Parquet、SQLite - ⚙️ **完全可配置** 通过 CLI 参数 ## 🚀 安装 ``` # 克隆 repository git clone https://github.com/your-username/neshan-scraper.git cd neshan-scraper # 安装 Python dependencies pip install -r requirements.txt # 安装 Playwright browsers (Chromium) playwright install chromium ``` ## 🖥️ 用法 使用简单的命令运行爬虫: ``` python neshan_scraper.py -s "فست فود تهران" -t 20 -f csv ``` 这将搜索“德黑兰的快餐”,抓取 **20** 条列表,并将它们保存到带有时间戳的 CSV 文件中。 ### ⚡ 所有选项 | 参数 | 简写 | 描述 | 默认值 | |----------|-------|-------------|---------| | `--search` | `-s` | 搜索查询(支持 UTF-8) | `فست فود تهران` | | `--total` | `-t` | 要抓取的地点数量 | `5` | | `--output` | `-o` | 导出文件的基本名称 | `neshan_export` | | `--format` | `-f` | 输出格式:`csv`、`json`、`parquet`、`sqlite` | `csv` | | `--headless` | | 在后台运行浏览器(无 GUI) | `False` | | `--delay` | | 延迟配置:`low`、`medium`、`high` | `medium` | | `--log` | | 日志级别:`DEBUG`、`INFO`、`WARNING`、`ERROR` | `INFO` | ## 📸 终端预览 这是爬虫运行时的效果: ``` (venv) ➜ neshan-scraper python neshan.py -s "cafe tehran" -t 10 -f csv --delay medium ███╗ ██╗███████╗███████╗██╗ ██╗ █████╗ ███╗ ██╗ ████╗ ██║██╔════╝██╔════╝██║ ██║██╔══██╗████╗ ██║ ██╔██╗ ██║█████╗ ███████╗███████║███████║██╔██╗ ██║ ██║╚██╗██║██╔══╝ ╚════██║██╔══██║██╔══██║██║╚██╗██║ ██║ ╚████║███████╗███████║██║ ██║██║ ██║██║ ╚████║ ╚═╝ ╚═══╝╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ====================================================== 14:08:21 - INFO - Starting Scraper... Options: Format=csv, Headless=False, Delay=medium 14:08:22 - INFO - Navigating to Neshan to search: cafe tehran 14:08:24 - INFO - Scrolling to find 10 listings... Scraping: 100%|██████████████████████████████| 10/10 [00:26<00:00] 14:08:50 - INFO - Data successfully saved to neshan_export_20260527_140850.csv ``` ## 📦 输出示例 (CSV) | name | category | address | phone_number | website | opening_hours_today | rating | reviews_count | |------|----------|---------|--------------|---------|---------------------|--------|---------------| | برگرلند | فست فود | تهران، خیابان ولیعصر... | ۰۲۱-۸۸۸۸۸۸۸۸ | https://... | ۱۱:۰۰ - ۲۳:۰۰ | 4.5 | (124) | ## ⚠️ 免责声明 此工具仅供**教育目的**和**个人研究**使用。 请尊重网站的 `robots.txt` 和服务条款。不要通过激进的抓取使服务器过载。 ## 📄 许可证 MIT ©EhsanShahbaziMade with ❤️ and lots of ☕
标签:Playwright, Python, URL抓取, 数据抓取, 数据提取, 无后门, 特征检测, 逆向工具