这是一个基于Spring Boot框架开发的链家房源数据爬虫系统。本项目致力于为用户提供一个便捷、高效的房源数据采集解决方案。通过自动化爬取链家网站的房源信息,系统能够实时获取各个城市的房源详情,包括房屋价格、位置、面积、户型等关键信息。
项目采用现代化的Web界面设计,支持灵活的城市筛选,用户可以轻松查看和分析不同区域的房源数据。同时,系统提供多种数据导出格式(Excel、CSV),方便用户进行后续的数据分析和处理。无论是普通用户查询房源信息,还是研究人员进行房地产市场分析,本系统都能提供有力的数据支持。
- 🏠 支持多城市房源数据爬取
- 📊 美观的 Web 界面展示
- 📑 支持导出 Excel 和 CSV 格式
- 🔍 灵活的城市搜索功能
- 🖼️ 展示房源图片和详细信息
- 后端:Spring Boot 2.7.18
- 爬虫:JSoup
- 前端:Thymeleaf + Tailwind CSS
- 数据导出:Apache POI
- 测试接口:GET `/api/test`
- 获取房源数据:GET `/api/house`
- 获取房源JSON数据:GET `/api/house/json/{province}`
- 可视化展示:GET `/api/show`
- 导出 CSV:GET `/api/house/export/csv`
- 导出 Excel:GET `/api/house/export/excel`
- JDK 11+
- Maven 3.6+
- 克隆项目
git clone https://github.com/ctkqiang/lianjiascraper.git
- 进入项目目录
cd lianjiascraper
- 编译项目
mvn clean package
- 运行项目 方式一:直接运行 JAR 文件
java -jar target/lianjiascraper-0.0.1-SNAPSHOT.jar
方式二:使用 Maven Spring Boot 插件运行
mvn spring-boot:run
- 访问 Web 界面:http://localhost:8080
- API 测试:http://localhost:8080/api/test
- 数据可视化:http://localhost:8080/api/show
- 获取房源数据:http://localhost:8080/api/house
- JSON格式数据:http://localhost:8080/api/house/json/{province}
- 导出CSV:http://localhost:8080/api/house/export/csv
- 导出Excel:http://localhost:8080/api/house/export/excel
- 获取房源数据:GET
/api/house?province={城市名}
- 导出 CSV:GET
/api/house/export/csv?province={城市名}
- 导出 Excel:GET
/api/house/export/excel?province={城市名}
- 数据可视化:GET
/api/show?province={城市名}
- 获取JSON数据:GET
/api/house/json/{province}
- 测试接口:GET
/api/test
src/main/java/cn/ctkqiang/lianjiascraper/
├── LianjiascraperApplication.java # 应用程序入口
├── controllers/ # 控制器
│ ├── Api.java # API接口控制器
│ ├── Scrapper.java # 爬虫核心逻辑
│ └── WebController.java # Web页面控制器
├── models/ # 数据模型
│ └── House.java # 房源信息模型
└── resources/ # 资源文件
└── templates/ # 模板文件
└── index.html # 主页面
- 请合理控制爬取频率,避免对目标网站造成压力
- 仅用于学习和研究目的,请勿用于商业用途
- 遵守目标网站的 robots.txt 规则
- 添加数据库支持
- 实现定时任务
- 添加代理池
- 优化爬虫性能
- 添加更多数据分析功能
本项目采用 木兰宽松许可证 (Mulan PSL) 进行许可。
有关详细信息,请参阅 LICENSE 文件。
如果您认为该项目对您有所帮助,并且愿意个人捐赠以支持其持续发展和维护,🥰 我非常感激您的慷慨。 您的捐赠将帮助我继续改进和添加新功能到该项目中。 通过 financial donation,您将有助于确保该项目保持免 费和对所有人开放。即使是一小笔捐款也能产生巨大的影响,也是对我个人的鼓励。