/pixivPicker

pixiv images downloader for daily 50

Primary LanguageJavaScript

###pixivPicker

抓取p站每日前50图片

###运行环境

使用前需安装nodejs,官网下载

###安装

  • 使用 git 下载
    稳定版 git clone https://github.com/iMyon/pixivPicker.git
    beta版 git clone https://github.com/iMyon/pixivPicker.git -b beta
  • 直接下载压缩包
    点击右边的download zip

下载完成后在解压后的文件夹打开命令行窗口,运行npm install
运行后大概需要下载十多M的东西

###使用说明

####不带参数运行

不带参数会保存在设置文件设置的路径里

  • linux
    • 命令行运行 node app.js
  • windows:
    • 右键使用nodejs打开app.js

####参数列表

参数名 描述
--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指定了的话则此设置不生效
说明 地址
每日 http://www.pixiv.net/ranking.php?format=json&mode=daily&p=1
每日r18 http://www.pixiv.net/ranking.php?format=json&mode=daily_r18&p=1
每日r18g http://www.pixiv.net/ranking.php?format=json&mode=daily_r18g&p=1
每周 http://www.pixiv.net/ranking.php?format=json&mode=weekly&p=1
每周r18 http://www.pixiv.net/ranking.php?format=json&mode=weekly_r18&p=1
每日 r18g http://www.pixiv.net/ranking.php?format=json&mode=weekly_r18g&p=1
男性 http://www.pixiv.net/ranking.php?format=json&mode=male&p=1
女性 http://www.pixiv.net/ranking.php?format=json&mode=female&p=1
  • 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设置

如果模拟登录获取不到cookie的话可以试试手动填写
r18图片需要设置cookie才能下载,没有这个需求的的可无视此项设置
app.js同目录新建.cookie(首次运行也会生成一个示例文件,需替换成自己的才能生效)文件,填写pixiv已登录状态的cookie

######获取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="http://www.pixiv.net/member_illust.php?id=3096443"
保存的目录默认是指定path加作者用户名

###设置定时任务

windows下设置定时执行的方法

#####1.控制面板找到计划任务,点击创建任务

#####2.按图示设置如下
######新建触发器,图示为每隔20分执行一次,因为只有首次下载比较耗费网速,所以时间间隔任意

######启动程序填最新版本的run.vbe所在路径(需和app.js同路径)
这个是后台静默运行run.bat,不会打开命令行窗口的,下载目录可以在run.bat设置

######条件选任何连接

####linux下设置定时任务
crontab -e 具体百度,很简单