PixiC部署文档 - Coder-Sakura/PixiC GitHub Wiki
这是一篇关于PixiC
项目的部署文档,旨在帮助感兴趣的各位部署PixiC
项目,获取Pixiv
的插画和数据。
如果你有一定的基础,那么可以跳过部分节点,文档尽可能从0到1,详细的讲述部署过程。
注意! 本文档为v2.0部署文档, v1.0目前只是作为备份
1、Python&MySQL
项目环境
目前只有win
系统的部署文档(群友:linux
系统也可运行)
- Python 3.7.6
- MySQL 5.7.14/8.0.12
Python
Python
版本尽可能和项目一致,当然高版本也是可以的.
-
Python官方下载页面: https://www.python.org/downloads/
如果你不需要用到数据库,下面MySQL这步可以跳过.
-
如何判断你需不需要用到数据库呢?
-
如果是只需要下载插画到本地或你根本不知道数据库是什么, 那么下面这一部分可以略过.
MySQL
MySQL可以使用WampServer,phpStudy,phpEnv等集成环境轻松安装, 也可以只安装MySQL数据库
- MySQL官方下载: https://www.mysql.com/downloads/
- phpStudy官网下载:https://www.xp.cn/(简单易上手,推荐)
- WampServer官网下载: https://www.wampserver.com/
- 度盘: WampServer3.0.6 提取码: 3ug2
安装完数据库, 可以使用mysql-cmd来管理, 也可以使用数据库可视化/管理工具进行管理
个人使用的是MySQL-Front、Navicat
- MySQL-Front官方下载: https://mysql-front.en.softonic.com 蓝奏云: MySQL-Front_Setup_6.1.1.26.exe
- Navicat下载:https://navicatformysql.en.softonic.com/
Tips
安装Python时记得勾选Add Python to Path以及注意安装路径.
第一个红框框选的位置为Python的安装目录(重点), 第二个为添加Python到环境变量.
安装完成后, Win + R, 输入cmd, 输入Python. 如图,则安装成功.
初次安装完python, 建议更新pip版本
python -m pip install --upgrade pip
下载过慢可以使用:
python -m pip install --upgrade pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
使用pip --version查看pip版本
pip --version
MySQL及MySQL管理工具安装完成如下(以MySQL 5.7.14作演示)
2、Python依赖
安装PixiC需要的第三方库依赖
下载本项目到本地.
git clone https://github.com/Coder-Sakura/PixiC.git
或者通过Download ZIP下载
下载或解压到本地后,切换到v2.0目录,打开cmd(在地址栏输入cmd)
pip install -r requirements.txt
如果pip更新下载过慢或失败,尝试使用国内豆瓣源
pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
安装依赖时,出现 You should consider upgrading via the 'python -m pip install --upgrade pip' command. 字样时,说明你的pip需要更新,使用提示给出的更新命令。
python -m pip install --upgrade pip
3、Chrome&Webdriver
通过Selenium驱动ChromeDriver,获取Chrome上Pixiv账户的Cookie,从而达到绕过Pixiv Google v3验证的目的。
简而言之,没有这一步,根本获取不到Pixiv账号的数据,也就是没有登录(Pixiv对游客账号是有限制的),那么PixiC就无从谈起了。
Selenium获取Chrome上的cookie只是为了登录作用
以下为不同配置对选取用于获取数据的账号的影响:
- 有自定义
ORIGI_COOKIE_LIST
未自定义USER_ID
——使用对应cookie
的pixiv
账号 (优先ORIGI_COOKIE_LIST
) (多个cookie
则随机1个)- 有自定义
USER_ID
未自定义ORIGI_COOKIE_LIST
——使用config
配置文件中对应USER_ID
的pixiv
账号COOKIE_UPDATE_ENABLED=True
& Chrome上有登录pixiv
账号 未自定义USER_ID
未自定义ORIGI_COOKIE_LIST
——则使用Chrome上的pixiv
账号
Chrome
1、下载Chrome,并在Pixiv上登录账号
Chrome官方下载: https://www.google.cn/intl/zh-CN/chrome/
蓝奏云: ChromeSetup.exe
2、使用Chrome://version, 查看Chrome浏览器版本及个人资料路径(重点)
Chrome://version
ChromeDriver
ChromeDriver仓库地址:http://chromedriver.storage.googleapis.com/index.html
根据Chrome版本号,下载对应的ChromeDriver。
上面是83.0.4103.61,那么这里选择对应的进行下载。
测试环境:win,这里选择chromedriver_win32.zip下载。
注意! chromedriver版本要与Chrome浏览器版本对应,如果PixiC中的Selenium驱动不了chromedriver,请检查前面二者的版本号。
- 解压完毕,将chromedriver.exe放在python.exe所在目录下(推荐)
Python的安装目录参考
默认安装的python,其路径在第一点的Tips中有红框标注。
或者可以通过以下方法找到
import sys
sys.path
sys.path中也有给出上面截图的路径。
测试Chromedriver是否正常工作
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.pixiv.net")
driver.close()
复制到cmd窗口中执行或新建一个py脚本运行
测试结果: Chrome打开并访问Pixiv,之后关闭Chrome
4、配置文件
在PixiC项目中,打开./v2.0/config.py文件
使用Sublime Text 3(推荐)/notepad++/pycharm/vs code等等编辑器或IDE打开。
Sublime Text 3蓝奏云: Sublime Text3 v3.2.1中文免安装版
定制配置文件
在PixiC配置之前,先要明确自己利用PixiC的目的是下列哪一种?
- 下载Pixiv账号关注/收藏作品原图——>简单配置
- 包含1,且需要抓取数据存储到数据库、使用API等拓展应用——>简单配置、拓展配置(需要数据库)
简单配置
目录路径
字段 | 说明 | 备注 |
---|---|---|
ROOT_PATH |
Pixiv 账号关注画师的作品下载目录 |
必填,ROOT_PATH = r'H:\follow' |
BOOKMARK_PATH |
Pixiv 账号收藏作品下载目录 |
必填,BOOKMARK_PATH = r'H:\bookmark' |
PRO_DIR |
Chrome 浏览器用户数据目录 |
必填,参照第三节Chrome&Webdriver 进行填写 |
如果关注和收藏过多,ROOT_PATH
和BOOKMARK_PATH
建议选择大容量目录。
这里给出参考:
- 个人收藏5000,无收藏数最低限制,下载共14G
- 355关注用户,3000收藏数最低限制,下载共120G
- 2400关注用户,2000收藏数最低限制,下载共747G
- 3200关注用户,无收藏数最低限制,下载共1T左右
关于PRO_DIR
字段,配置文件中注释有提供参考
用户信息
字段 | 说明 | 备注 |
---|---|---|
USER_ID |
Chrome 浏览器登录的Pixiv 账号的uid |
默认为空 |
COOKIE_UPDATE_ENABLED |
控制是否更新本地cookie |
首次运行设置为True |
-
pixiv账号的uid可以访问 https://www.pixiv.net/bookmark.php 。点击自己头像进入主页,查看地址栏,形如:https://www.pixiv.net/users/112233 ,112233即为uid。
-
COOKIE_UPDATE_ENABLED
项首次运行设置为True以更新cookie到本地,后续运行设置为False可快速启动。
模块控制开关及轮询周期
字段 | 说明 | 备注 |
---|---|---|
PIXIV_CRAWLER_ENABLED |
关注用户作品爬虫模块开关 | 默认True,False即关闭 |
PIXIV_BOOKMARK_ENABLED |
收藏作品爬虫模块开关 | 默认True,False即关闭 |
PIXIV_API_ENABLED |
API模块开关 | 默认False |
USERS_CYCLE |
关注爬虫轮询间隔 | 默认43200秒 |
USERS_LIMIT |
关注爬虫下载作品的收藏最低限制 | 默认3000收藏以上 |
BOOKMARK_CYCLE |
收藏爬虫轮询间隔 | 默认7200秒 |
BOOKMARK_LIMIT |
收藏爬虫下载作品的收藏最低限制 | 默认0收藏,全下载 |
PIXIV_CRAWLER_ENABLED
和PIXIV_BOOKMARK_ENABLED
默认开启,PIXIV_API_ENABLED
如果需要开启,参考拓展配置。
拓展配置
API设置
字段 | 说明 | 备注 |
---|---|---|
API_HOST |
主机ip | 默认本地,0.0.0.0/127.0.0.1 |
API_PORT |
端口 | 默认1526 |
API_THREAD |
API线程数 | 默认8 |
RANDOM_LIMIT |
API-random接口-最大返回数 | 默认10 |
RANDOM_BOOKMARK_ENABLE |
API-random接口-是否开启收藏数筛选 | 默认True |
RANDOM_BOOKMARK_LIMIT |
API-random接口-返回插画最小收藏数 | 默认3000收藏数以上 |
数据库连接信息
字段 | 说明 | 备注 |
---|---|---|
DB_ENABLE |
数据库开关 | 默认为False,True为开启 |
DB_HOST |
主机ip | 默认本地,localhost/127.0.0.1 |
DB_PORT |
端口 | 3306 |
DB_USER |
用户名 | |
DB_PASSWD |
密码 | |
DB_DATABASE |
数据库库名 | moe |
DB_CHARSET |
数据库/表编码 | utf8mb4 |
数据库连接信息根据实际填写,DB_ENABLE
看个人需求。
不过注意:
DB_ENABLE
和PIXIV_API_ENABLED
同时开启,都为True,可同时使用数据库及APIDB_ENABLE
为True,PIXIV_API_ENABLED
为False,爬虫模块使用数据库进行存储DB_ENABLE
和PIXIV_API_ENABLED
都为False,无法使用数据库及APIDB_ENABLE
为False,PIXIV_API_ENABLED
为True,结果与上一点相同
DB_DATABASE
、DB_CHARSET
和v2.0/doc/create.sql
一致,建议不修改
以上便是配置文件部分
5、运行
首次运行,配置好配置文件,在Chrome上登录Pixiv账号,关闭Chrome。
打开cmd
,切换到v2.0目录下 / 或进入v2.0目录后再从地址栏打开cmd
输入命令:
python scheduler.py
接下来享受pixiv
插画下载吧!不仅自己关注画师的作品和收藏的作品都能下载到本地,插画数据还能存储到数据库。