-
Notifications
You must be signed in to change notification settings - Fork 21
注意事项
其中包括:默认字符集修改,严格校验模式关闭,mysqld
内存占用过高问题。
由于Pixiv
的数据中存在emoji
表情,强烈建议修改mysql
默认编码集为utf8mb4
Mysql 8.0
以上默认使用utf8mb4
编码
-
my.ini
添加以下内容
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
-
重启数据库
-
Windows
net stop mysql net start mysql
或手动重启
wamp
、phpstudy
等集成环境 -
Linux
service mysql restart
-
MySQL
的严格模式,其实是MySQL
自身对数据格式、长度、数据类型进行严格校验;如果定义了char
或varchar
类型的字段,当写入或更新的数据超过了定义的长度也会报错,而在非严格模式下MySQL
不会报错。
为了避免出现这种奇怪的问题。其实是pixiv
插画数据中的标题title
、标签tag
太多或太长导致在严格模式下出错。
这里建议关闭严格校验模式
-
PixiC运行之前,不能启动Chrome; 首次运行
PixiC
时会打开Chrome
之后关闭,期间不要操作Chrome
(之后操作Chrome
无影响)
-
获取cookie之后,Chrome上的Pixiv账号不要退出
-
根据网络与代理节点情况对CW (关注画师爬虫) 与BM (收藏作品爬虫) 的线程数进行调整;
- 网络状况较差则线程数调低,比如4 (建议保持默认设置 -- 8)
- 不建议增加线程数和改动默认线程数,以免对
Pixiv
站点正常业务进行影响。
-
关于出现网络错误/代理无效的问题。
- 首先查看代理软件是否能正常代理 (如访问
google
) - 其次使用
Chrome
打开Pixiv
,查看账号是否有登录 (无登录则在Chrome上登录,之后设置COOKIE_UPDATE_ENABLED=True
进行cookie更新) - 如果还是解决不了,记得截图报错信息和提供config文件,反馈或提
issue
给我
- 首先查看代理软件是否能正常代理 (如访问
报错:ModuleNotFoundError: No module named 'DBUtils'
环境
python 3.7.6
DBUtils 2.0.0
解决方案
# 卸载原有版本的DBUtils
pip uninstall DBUtils
# 安装1.3.0版本的DBUtils
pip install DBUtils==1.3.0
通过score和illust_level来进行作品等级的客观划分
- score(收藏数/浏览数),通过score来客观评判作品质量好坏
评分等级与区间划分
评分区间 | 等级 |
---|---|
0~0.14 | R |
0.14~0.26 | SR |
0.26~0.325 | SSR |
0.325~∞ | UR |
数据分析来源:个人pixiv 19954条收藏作品数据(2021.3)——PixiC
以个人pixiv收藏数据和某手游抽卡概率来分析划分评分的各区间
折线图分布
数据分析来源:个人pixiv 19954条收藏作品数据(2021.3)——PixiC
针对浏览量大的作品
通常一个人可以浏览多次作品,而只能收藏一次作品;所以浏览量大的作品一般收藏数都是浏览数的10%
# === 针对浏览量大的热门作品 ===
# 从R(0.14)中寻找SSR,不取边界值
if 20000 < bookmarkCount and score < illust_interval['R']:
# SSR
illust_level = illust_level_list[2]
# 从SR(0.26)中寻找UR,不取边界值
if 25000 < bookmarkCount and \
illust_interval['R'] < score < illust_interval['SR']:
# UR
illust_level = illust_level_list[3]