抓取p站每日前50图片
使用前需安装nodejs,官网下载
- 使用 git 下载
稳定版git clone https://github.com/iMyon/pixivPicker.git
- 直接下载压缩包
点击右边的download zip
下载完成后在解压后的文件夹打开命令行窗口,运行npm install
运行后大概需要下载十多M的东西
不带参数会保存在设置文件设置的路径里
- linux
- 命令行运行
node app.js
- 命令行运行
- windows:
- 右键使用nodejs打开
app.js
- 右键使用nodejs打开
参数名 | 描述 |
---|---|
--path | 保存路径 |
--url | 请求网址,下面有列表 |
--abbr | 文件夹命名后缀,如 --abbr=r_18 则文件存放路径大致如下path/to/2014/4/15_r18 |
--username | 用户id,用于模拟登录获取cookie |
--passwd | 用户密码,用于模拟登录获取cookie |
--force | 跳过下载历史记录,强制重新下载,该参数不需要给定值 |
--skipce | 不下载相册,该参数不需要给定值 |
示例:node app.js --skipce --path=/home/myon/pixiv
所有设置都在lib/config.js
里,比较重要的选项:
saveFolder
: 下载图片保存的路径,可以填绝对或相对路径maxRetryTime
:下载失败重试次数tabPass
:根据tag过滤关键字,满足条件则此图片不下载tabOnly
:根据tag过滤关键字,只下载tag中包含关键字的图片
tag
可以自行查看log日志文件分析,格式化日志文件可以点这里fetchUrl
:抓取网页的类型,列表 ,参数--url 可以设置的值pixiv_id
:用户id,用于模拟登录获取cookie,参数--username指定了的话则此设置不生效pass
: 用户密码,用于模拟登录获取cookie,参数--passwd指定了的话则此设置不生效
formatString
: 命名filename的格式 ,以下面为例子
如果填写${user_name} - ${title}
则输出nico - 勿忘草
其它字段如下,都是字面意思
{
"illust_id": 43014060,
"title": "勿忘草",
"width": 600,
"height": 360,
"date": "2014年04月21日 00:22",
"tags": ["オリジナル", "女の子", "オリジナル100users入り", "青白黒"],
"url": "http:\/\/i2.pixiv.net\/img32\/img\/apo_lovin\/mobile\/43014060_240mw.jpg",
"user_id": 853948,
"user_name": "nico",
"profile_img": "http:\/\/i2.pixiv.net\/img32\/profile\/apo_lovin\/6488174_s.jpg",
"rank": 53,
"yes_rank": 71,
"total_score": 1426,
"view_count": 3673
}
反正就这几个参数,自己拼下
如果模拟登录获取不到cookie的话可以试试手动填写
r18图片需要设置cookie才能下载,没有这个需求的的可无视此项设置
app.js同目录新建.cookie
(首次运行也会生成一个示例文件,需替换成自己的才能生效)文件,填写pixiv已登录状态的cookie
小书签:javascript:alert(document.cookie);void(0);
小书签运行方法可参照各种浏览器运行所谓「JS代码/脚本」的方法
到p站点击,复制粘贴
默认保存在当前目录下的images目录 ,带参数的话保存在参数指定目录
以yyyy/mm/dd${abbr}
结构的目录保存每日图片,期中日期为服务器日期,不是本地日期
以yyyy-MM-dd${abbr}.log
形式保存在log
目录,json格式
传递url参数的时候用作者作品页的链接即可下载所有作品,当前版本占内存较大,慎用。 例子:
命令行执行 node app.js --url="https://www.pixiv.net/member_illust.php?id=3096443"
保存的目录默认是指定path加作者用户名
这个是后台静默运行run.bat,不会打开命令行窗口的,下载目录可以在run.bat设置
crontab -e
具体百度,很简单