# mooc_selenium **Repository Path**: Joynle_konjo/mooc_selenium ## Basic Information - **Project Name**: mooc_selenium - **Description**: 爬取中国慕课的评论 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-15 - **Last Updated**: 2025-11-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 慕课评论爬虫 - PyQuery版本 使用 **Selenium + PyQuery** 实现的慕课评论爬虫。 ## 前置要求 1. **安装 Miniconda 或 Anaconda** - 下载地址:https://docs.conda.io/en/latest/miniconda.html - 或:https://www.anaconda.com/products/distribution 2. **首次使用 Conda 需要初始化**(只需执行一次) - **如果使用 PowerShell**: ```powershell conda init powershell # 执行后关闭并重新打开 PowerShell ``` - **如果使用 CMD**: ```bash conda init cmd.exe # 执行后关闭并重新打开 CMD ``` - **如果使用 Git Bash**: ```bash conda init bash # 执行后关闭并重新打开终端 ``` **或者**:直接使用 **Anaconda Prompt** 或 **Miniconda Prompt**(无需初始化) ## 快速开始 ### 1. 创建并激活 Conda 环境 在项目根目录执行: ```bash # 创建环境(会自动安装所有依赖) conda env create -f environment.yml # 激活环境 conda activate mooc_scrapy ``` ### 2. 运行爬虫 ```bash cd mooc_scrapy python run_pyquery_spider.py ``` ## 项目特点 - ✅ 使用PyQuery解析页面(类似jQuery语法) - ✅ 自动翻页,支持多页爬取 - ✅ 自动去重,确保数据唯一性 - ✅ 自动保存Excel文件(带时间戳,不会覆盖) - ✅ 自动管理ChromeDriver - ✅ 用户可配置课程URL和最大页数 ## 输出文件 爬取完成后会在项目根目录生成 `慕课评论_pyquery_YYYYMMDD_HHMMSS.xlsx` 文件,包含: - 评论ID - 用户名 - 头像URL - 评论内容 - 评论时间 - 评分 - 点赞数 - 评论者ID ## 项目结构 ``` python_pachong/ ├── mooc_scrapy/ │ ├── mooc_comments_pyquery.py # 爬虫主文件 │ ├── run_pyquery_spider.py # 运行脚本 │ └── README.md # 详细说明 ├── environment.yml # Conda 环境配置文件 └── README.md # 本文件 ``` ## 环境管理 ### 激活环境 ```bash conda activate mooc_scrapy ``` ### 退出环境 ```bash conda deactivate ``` ### 更新环境(当 environment.yml 有变化时) ```bash conda env update -f environment.yml --prune ``` ### 删除环境(如需要) ```bash conda env remove -n mooc_scrapy ``` ### 查看环境列表 ```bash conda env list ``` ## 验证环境 激活环境后,检查依赖是否已安装: ```bash conda activate mooc_scrapy pip list ``` 应该能看到以下包: - selenium - webdriver-manager - pyquery - lxml - pandas - openpyxl ## 维护环境配置文件 **重要提醒**:如果手动安装了额外的依赖包,请记得更新 `environment.yml` 文件,以便其他人或以后可以重现相同的环境。 ### 包管理原则 **优先使用 conda,conda 没有的才用 pip**: - **能用 conda 安装的包**:直接放在 `dependencies:` 下(与 `pip` 平级) - **只有 pip 才有的包**:放在 `pip:` 下 ```yaml dependencies: - python=3.10 - pip # 使用 conda 安装的包(优先使用 conda,更稳定) - selenium>=4.15.0 - pandas>=2.0.0 - lxml>=4.9.0 - openpyxl>=3.1.0 # 只有 pip 才有的包(conda 仓库中没有) - pip: - webdriver-manager>=4.0.0 - pyquery>=2.0.0 ``` ### 导出当前环境到 yml 文件 ```bash # 激活环境 conda activate mooc_scrapy # 导出当前环境配置(包括所有已安装的包) conda env export > environment.yml # 或者只导出 pip 安装的包(推荐,更简洁) conda env export --no-builds | grep -v "^prefix" > environment.yml ``` **注意**:导出后需要手动整理,将能用 conda 安装的包移到 `dependencies:` 下,只保留 conda 没有的包在 `pip:` 下。 ### 手动更新 environment.yml 如果只是添加了少量依赖,手动编辑 `environment.yml` 文件: 1. **如果包在 conda 仓库中有**:添加到 `dependencies:` 下(与 `pip` 平级) 2. **如果包只有 pip 有**:添加到 `pip:` 下 ```yaml dependencies: - python=3.10 - pip # conda 包(与 pip 平级) - selenium>=4.15.0 - pandas>=2.0.0 - 新conda包名>=版本号 # 添加新的 conda 包 # pip 包(conda 没有的) - pip: - webdriver-manager>=4.0.0 - pyquery>=2.0.0 - 新pip包名>=版本号 # 添加新的 pip 包 ``` ## 常见问题 ### Q: 执行 `conda activate` 报错? **A**: 首次使用 conda 需要初始化,请参考上面的"前置要求"部分。 ### Q: 环境创建成功但依赖没安装? **A**: 如果环境创建后依赖未安装,可以手动安装: ```bash conda activate mooc_scrapy pip install -r requirements.txt ``` **注意**:手动安装依赖后,记得更新 `environment.yml` 文件(参考上面的"维护环境配置文件"章节)。 ### Q: 找不到 conda 命令? **A**: - 使用 **Anaconda Prompt** 或 **Miniconda Prompt** - 或者将 conda 添加到系统 PATH 环境变量 ### Q: 第一页查不到数据? **A**: 已修复,现在会自动等待、滚动和重试。 ### Q: 数据重复? **A**: 已实现自动去重,不会出现重复数据。 ## 注意事项 1. **确保已安装Chrome浏览器** 2. **首次运行会自动下载ChromeDriver** 3. **遵守网站使用协议,合理控制爬取频率** 4. **如果页面HTML结构改变,可能需要调整选择器** ## 更多信息 详细说明请参考:`mooc_scrapy/README.md` ## 许可证 本项目仅供学习交流使用。