# 豆瓣读书爬虫项目协助记录 ## 项目概述 - **项目名称**:豆瓣读书爬虫 - **目标**:爬取豆瓣读书中论文标签的书籍信息 - **技术栈**:Java + Jsoup ## 协助过程 ### 1. 环境准备 - 检查Java环境:确认已安装OpenJDK 21.0.10 LTS - 添加Jsoup依赖:用于解析网页HTML - 创建Maven项目结构 ### 2. 项目结构搭建 - 创建目录结构:`com/rental/crawler/model` 和 `com/rental/crawler/util` - 配置pom.xml文件:添加Jsoup依赖 ### 3. 核心文件创建 #### HTTP工具类 (`HttpUtil.java`) - 功能:发送HTTP请求获取网页内容 - 特性:模拟浏览器User-Agent,设置超时时间 #### 书籍数据模型 (`Book.java`) - 定义书籍属性:书名、作者、出版社、出版日期、价格、评分、简介、链接 #### 豆瓣爬虫实现 (`DoubanCrawler.java`) - 核心功能:爬取豆瓣读书论文标签的书籍信息 - 支持多页爬取,每页20本书 - 解析HTML提取书籍信息 - 实现延迟控制,避免被反爬 #### 主类 (`Main.java`) - 启动爬虫并显示结果 - 支持指定爬取页数 ### 4. 编译与运行 - 编译代码:使用javac命令编译Java文件 - 运行爬虫:使用java命令运行主类 - 保存结果:将爬虫结果重定向到文件 ### 5. 项目打包 - 创建w3文件夹:用于存放项目文件和结果 - 复制所有爬虫相关文件到w3文件夹 - 保存爬虫结果到w3文件夹 - 保存本协助记录到w3文件夹 ## 运行结果 - 成功爬取40本书的信息 - 包含书名、作者、出版社、出版日期、价格、评分、简介、豆瓣链接 - 结果保存在 `w3/crawler_result.txt` ## 技术要点 - Jsoup库的使用:解析HTML - HTTP请求模拟:设置User-Agent - 反爬措施:添加延迟 - 数据解析:使用CSS选择器提取数据 - 命令行操作:编译和运行Java程序 ## 后续扩展建议 - 增加数据存储到数据库 - 添加GUI界面 - 实现多线程爬取 - 增加更多标签的爬取 - 实现数据可视化