# kuake **Repository Path**: dong-goose/kuake ## Basic Information - **Project Name**: kuake - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-14 - **Last Updated**: 2025-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 夸克文档爬虫 一个用于爬取夸克文档信息和缩略图的Python爬虫工具。 ## 功能特性 - 🔍 自动构造夸克文档预览API请求 - 📄 提取文档标题信息(学校、科目、学年、学期、内容类型) - 🖼️ 获取文档缩略图URL列表 - 📥 支持批量下载缩略图 - 💾 结果保存为JSON格式 - 🔄 支持批量处理多个文档 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 快速开始 ### 基本使用 ```python from quark_crawler import QuarkDocumentCrawler # 创建爬虫实例 crawler = QuarkDocumentCrawler() # 爬取单个文档 doc_id = "33347DAF8DF18621F356A9CC20FB0E76" result = crawler.crawl_document(doc_id) if result: print(f"标题: {result['title']}") print(f"图片数量: {result['total_pages']}") ``` ### 批量爬取 ```python # 批量爬取多个文档 doc_ids = [ "33347DAF8DF18621F356A9CC20FB0E76", "另一个文档ID", # 添加更多文档ID... ] results = crawler.crawl_multiple_documents(doc_ids) crawler.save_results(results, "documents.json") ``` ### 下载图片 ```python # 下载文档缩略图 crawler.download_images(result, save_dir="images") ``` ## 运行示例 ```bash # 运行交互式示例 python example_usage.py ``` ## 项目结构 ``` kuake/ ├── quark_crawler.py # 主爬虫类 ├── example_usage.py # 使用示例 ├── requirements.txt # 依赖包 ├── README.md # 说明文档 └── READEME.md # 原始需求文档 ``` ## API说明 ### QuarkDocumentCrawler类 #### 主要方法 - `crawl_document(doc_id, chid=None)`: 爬取单个文档 - `crawl_multiple_documents(doc_ids)`: 批量爬取文档 - `save_results(results, filename)`: 保存结果到JSON文件 - `download_images(doc_info, save_dir)`: 下载文档图片 #### 返回数据格式 ```json { "title": "学校名 + 高等数学 + 2023-2024 + 第一学期 + 期末试卷", "school": "学校名", "subject": "高等数学", "school_year": "2023-2024", "semester": "第一学期", "content_type": "期末试卷", "image_urls": ["图片URL1", "图片URL2", ...], "total_pages": 5, "doc_id": "33347DAF8DF18621F356A9CC20FB0E76" } ``` ## 注意事项 - 请合理控制请求频率,避免对服务器造成压力 - 建议在请求间添加适当延时 - 确保网络连接稳定 - 遵守相关网站的使用条款 ## 原始需求 ### URL模式 ``` https://wendang.quark.cn/doc/preview?chid=19030361-85a4-4c69-943d-c156442ea6ce&docId=33347DAF8DF18621F356A9CC20FB0E76&clientId=wenku×tamp=1754903739251&token=&q_auth_type=er&operator=&previewPosition=1&previewSize=5&uc_param_str=dnntnwvepffrgibijbprsvpidicheiutdskp&needOnSale=false&userVcode=1754903739211&userSign=NxRPbh1YRjSXDb6U8LiVGFS82mD4CSsfGyeIcU3Oz6cI6FwTBLHUrEhYdHzaxCA%2FyqA%3D&kpsWg=NxReFbjWLhh1wU2YrIaKfjA1KYGxG%2FWgw04sJEO7dyRD3tItEERHyuoG%2B8tfZAuoixGQ5ECOE2Q8qj5Zn0tq81A74qE5ZOI6 ``` ### 参数说明 - `chid`: 自动生成UUID - `docId`: 变化的文档ID(如:33347DAF8DF18621F356A9CC20FB0E76) - 其他参数保持不变 ### 目标数据 - 标题:school + subject + schoolYear + semester + contentType - 图片URL:从返回的pages数组中提取url字段 ## 更新日志 - 更新了userSign和kpsWg参数 - 更新了示例docId为最新的33347DAF8DF18621F356A9CC20FB0E76 - 修复了图片URL提取逻辑