Skip to content

关于PixiC配置的三言两语

Coder-Sakura edited this page Mar 18, 2021 · 2 revisions

PixiC登录配置就是Selenium获取cookie or 用户自定义cookie;

以下两种配置方式都需要注意的是

  • 获取cookie后,浏览器中的Pixiv账号不要退出
  • 不想配置Selenium相关部分可使用ORIGI_COOKIE_LIST

COOKIE_UPDATE_ENABLED

配置及作用

  • 控制是否启动Selenium更新本地cookie
  • **第一次运行PixiC或需要更新cookie**时将其设置为TruePixiC会将Chrome上登录pixiv账号的cookie持久化到本地;
  • 当设置为False时会读取本地持久化的cookie文件

分析

用这种方式获取的cookie,在服务器上可以连续使用三个月甚至更多,而无需进行cookie的更新;

但需要配置Chrome浏览器用户数据目录PRO_DIR、与Chrome浏览器对应版本的chromedriver以及更新cookie的时候需要关闭Chrome浏览器。

ORIGI_COOKIE_LIST

配置及作用

  • 用于用户自定义cookie,优先级比COOKIE_UPDATE_ENABLED

  • 列表格式,形如:[‘cookie1’, ''],可以配置单个或者多个 (建议单个) 配置多个cookie时,若不指定user_id,则会从配置的cookie中随机选取一个进行获取user_id

  • ORIGI_COOKIE_LIST内的cookie1cookie2替换为Chrome浏览器上登录的pixiv账号的cookie即可 (以Chrome为例)

  • 从开发者工具中获取cookie:打开https://www.pixiv.net/,按下f12,按下Ctrl + R刷新网页; 在DevTools左侧列表中找到namepixiv.net的包,点击之后在右侧详细页面中找到Request Headers,右击cookie项选择copy value; 将复制的cookie粘贴到ORIGI_COOKIE_LIST

ORIGI_COOKIE_LIST = [
    '_octo=GH1.1.2122347011.1615467808;xxxx以下省略',
]

分析

用这种方式操作起来非常快,适合不想配置Selenium相关部分的用户;

但是要注意cookie的时效性,该方法配置的cookie时效性尚未验证

几种常见场景的config文件配置

假设:

  • 用户user_id为123456
  • 关注用户作品路径为D:\follwing
  • 收藏作品路径为D:\bookmark

以下仅为部分关键配置

  1. 下载自己的pixiv收藏作品和关注画师作品(不需要数据存储到数据库)
# 仅下载自己的pixiv收藏作品
USER_ID = "123456"
PIXIV_CRAWLER_ENABLED = False 
PIXIV_BOOKMARK_ENABLED = True
PIXIV_API_ENABLED = False
DB_ENABLE = False

# 仅下载自己的pixiv关注画师作品
USER_ID = "123456"
PIXIV_CRAWLER_ENABLED = True 
PIXIV_BOOKMARK_ENABLED = False
PIXIV_API_ENABLED = False
DB_ENABLE = False

# 下载自己的收藏和关注画师作品
USER_ID = "123456"
PIXIV_CRAWLER_ENABLED = True 
PIXIV_BOOKMARK_ENABLED = True
PIXIV_API_ENABLED = False
DB_ENABLE = False
  1. 下载他人的pixiv收藏作品和关注画师作品
# 将USER_ID替换为其他人或其他账号的UID即可
# 下载路径建议另选一个,免得和之前下载的重合在一起
ROOT_PATH = r"D:\follwing"
BOOKMARK_PATH = r"D:\bookmark"

USER_ID = "320757"
PIXIV_CRAWLER_ENABLED = True 
PIXIV_BOOKMARK_ENABLED = True
PIXIV_API_ENABLED = False
DB_ENABLE = False
  1. 下载原图 + 采集数据 + API
USER_ID = "123456"
# 控制开关
PIXIV_CRAWLER_ENABLED = True 
PIXIV_BOOKMARK_ENABLED = True
PIXIV_API_ENABLED = True

# 检测周期&最低限制按需更改就好,也可以采用默认配置
# API设置建议采用默认配置

DB_ENABLE = True
# 数据库连接信息以实际为准
DB_HOST = 'localhost'
DB_PORT = 3306
DB_USER = 'pixiv'
DB_PASSWD = 'Huawei12#$'
DB_DATABASE = 'moe'
DB_CHARSET = "utf8mb4"