TriPriest

Pixiv Scraper

一个用于非商业化爬取 Pixiv 排行榜插画与信息的自动化爬虫工具。


🪄 项目背景

我希望能够方便地收集与整理 Pixiv 平台上的优质插画内容,尤其是每日排行榜与关注画师的最新作品。 由于 Pixiv 平台没有直接开放完整的公开接口,因此我开发了一个自用的爬虫系统,在遵守合理访问频率的前提下实现数据采集与归档。

该项目仅用于个人学习与非商业用途。


🧩 项目简介

本项目实现了一个自动化的爬虫系统,用于定期爬取 Pixiv 上不同类型的排行榜和用户作品。 系统不仅能下载插画图片,还会抓取包括作者信息、图片标签、发布时间等一系列元数据,并存储到数据库中以便后续分析与整理。

此外,我还实现了一个PDF 生成工具,可以将每日下载的插画自动打包输出,方便离线浏览和归档。


⚙️ 核心功能

  • 📊 支持多种榜单类型:daily / weekly / user / latest_following / following

  • 🖼️ 自动下载插画图片及相关元数据(作者ID、标签、发布时间等)

  • 💾 数据存储至 MySQL 数据库

  • 🔍 下载前自动比对图片ID,避免重复爬取

  • 📄 一键生成爬取内容的 PDF 图集

  • 🧠 使用进程池并行加速下载

  • 💤 模拟设备与随机休眠机制,降低被反爬风险


🧠 项目特性

  • ⚡ 高效并行的爬取机制,显著提升抓取速度

  • 🔒 自动去重与反爬规避机制,确保稳定运行

  • 🧩 支持数据持久化与二次处理(如分类、可视化)

  • 🖨️ 提供 PDF 打包导出功能,方便日常浏览

  • 🧰 可扩展结构,支持未来加入更多榜单类型或接口


🛠 技术栈

  • 语言:Python
  • 数据库:MySQL
  • 并发处理:Multiprocessing(进程池)
  • 请求模拟:Requests + 伪装 Headers / User-Agent
  • 文件输出:ReportLab(PDF 生成)
  • 数据结构:JSON + SQL Schema

🧪 使用示例

详情参考 Github 中的 README 文件。


📸 项目截图

暂无


👥 贡献者

  • 🎨 设计 + 代码:个人
  • 🧾 文档与测试:个人

📅 时间线

  • 2025.03.18 - 概念设计
  • 2025.03.20 - MVP 实现(daily/weekly/monthly rank 爬取)
  • 2024.03.26 - 部署数据库,更新数据库对比功能
  • 2024.03.30 - 实现关注列表爬取
  • 2024.04.18 - 实现爬取失败,根据爬取批次回滚数据库的功能

📈 当前状态

  • ✅ v1.0 结束于 2024-04-18
  • 🔄 正在迭代 v2.0 版本