Rat's

一个基于Python 3的Pixiv爬虫,可下载画师和排行榜原图
说明:P站很多人不陌生了,这里分享个爬虫脚本,基于Python3,可直接下载排行榜、画师的原图。无需登录,无需co...
扫描右侧二维码阅读全文
14
2019/07

一个基于Python 3的Pixiv爬虫,可下载画师和排行榜原图

说明:P站很多人不陌生了,这里分享个爬虫脚本,基于Python3,可直接下载排行榜、画师的原图。无需登录,无需cookies,也不需要其它依赖,使用纯Python原生模块,支持多线程下载,支持过滤已下载。由于官方需要登录才能下载原图,这里就绕过了官方,直接获取下载原图,毕竟不是原图就没得意义了,有需求的可以收藏下。

截图

请输入图片描述

使用

Github地址:https://github.com/MoeClub/Pixiv

要求:Python 3、网络能访问Pixiv站。

1、安装Python 3

#CenOS 6系统
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum install python34 -y

#CenOS 7系统
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install python36 -y

#Debian 7、8系统
apt update
apt install python3 -y

Debian 910Ubuntu系统自带Python 3,无需安装,可直接进行下一步。

2、下载脚本

wget https://raw.githubusercontent.com/MoeClub/Pixiv/master/pixiv.py

脚本默认25线程,想改的话,直接编辑脚本,搜索25,改成相应数字就可以了。

3、使用脚本

#下载画师原图,使用画师UID即可
python3 pixiv.py "673179" 
   
#下载排行榜原图,使用排行榜地址即可    
python3 pixiv.py "https://www.pixiv.net/ranking.php?mode=male" 
Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2021 年 06 月 06 日 10 : 37 PM

发表评论 取消回复

25 条评论

  1. e

    各位dalao有没有e站的爬虫脚本

  2. lsp

    我在博主代码的基础上,加入了GUI,优化了多线程(一个url对应多张图片的情况,并行度不高),加入了标签搜索,可以动态获取p站榜单的图片(selenium实现scroll down),具体可以参考https://github.com/LewisSean/pixiv_rank_web_crawler

    1. Rat's
      @lsp

      可以,我玩玩先

  3. annihilation

    大佬, 好像这个没有 scroll down 功能啊...

  4. miaomiaowang

    10月开始从浏览器访问不了,但是ping得通P站,你那边有出现类似的情况么?ins、推什么的使用正常。唯独P站无法在浏览器访问

    1. miaomiaowang
      @miaomiaowang

      而且很奇怪,直接在vps(美国)上运行脚本,也不行

      python3 pixiv.py "https://www.pixiv.net/ranking.php?mode=male"

      Traceback (most recent call last):
      File "/usr/lib64/python3.6/urllib/request.py", line 1318, in do_open

      encode_chunked=req.has_header('Transfer-encoding'))

      File "/usr/lib64/python3.6/http/client.py", line 1254, in request

      self._send_request(method, url, body, headers, encode_chunked)

      File "/usr/lib64/python3.6/http/client.py", line 1300, in _send_request

      self.endheaders(body, encode_chunked=encode_chunked)

      File "/usr/lib64/python3.6/http/client.py", line 1249, in endheaders

      self._send_output(message_body, encode_chunked=encode_chunked)

      File "/usr/lib64/python3.6/http/client.py", line 1036, in _send_output

      self.send(msg)

      File "/usr/lib64/python3.6/http/client.py", line 974, in send

      self.connect()

      File "/usr/lib64/python3.6/http/client.py", line 1407, in connect

      super().connect()

      File "/usr/lib64/python3.6/http/client.py", line 946, in connect

      (self.host,self.port), self.timeout, self.source_address)

      File "/usr/lib64/python3.6/socket.py", line 724, in create_connection

      raise err

      File "/usr/lib64/python3.6/socket.py", line 713, in create_connection

      sock.connect(sa)

      TimeoutError: [Errno 110] Connection timed out

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
      File "pixiv.py", line 147, in <module>

      p.get_item(task)

      File "pixiv.py", line 65, in get_item

      page = self._http(UserID, self.DefaultHeader, True)

      File "pixiv.py", line 28, in _http

      res = request.urlopen(request.Request(url, headers=headers, method='GET'))

      File "/usr/lib64/python3.6/urllib/request.py", line 223, in urlopen

      return opener.open(url, data, timeout)

      File "/usr/lib64/python3.6/urllib/request.py", line 526, in open

      response = self._open(req, data)

      File "/usr/lib64/python3.6/urllib/request.py", line 544, in _open

      '_open', req)

      File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain

      result = func(*args)

      File "/usr/lib64/python3.6/urllib/request.py", line 1361, in https_open

      context=self._context, check_hostname=self._check_hostname)

      File "/usr/lib64/python3.6/urllib/request.py", line 1320, in do_open

      raise URLError(err)

      urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>

      1. Rat's
        @miaomiaowang

        我刚开了一台vultr试了一下,没问题,可以下载

  5. YuasKD

    R 18 画师的爬不下来嘛

  6. 南筱

    有没有另一个P站的爬虫

    1. Rat's
      @南筱

      有,不过不给你

      1. e
        @Rat's

        dalao 分享下吧

  7. 白给

    windows端也有
    https://github.com/Tsuk1ko/pxder

    1. Rat's
      @白给

      这个很久前发过 ,不过要登陆,没这个方便

      1. 白给
        @Rat's

        不过下载自己点了收藏的图片就很方便

  8. mikusa

    用画师uid批量下载的时候

  9. Mikusa

    如果下载的时候能加上作者的id或是名字就好了

    1. Rat's
      @Mikusa

      已经给萌咖说了下,稍后达到你的要求。

      1. mikusa
        @Rat's

        太棒了!

  10. 心灵博客

    第一次知道有个p站了,要登陆,丢弃

    1. Rat's
      @心灵博客

      这个站好东西还是不少的