Python漫画下载器「建议收藏」

Python漫画下载器「建议收藏」“并不是所有数据都应该被获取。”——弗罗指令,53.12很多漫画找不到下载资源了(可能被亚空间吞没了吧),无奈只能从漫画网站上扒了。但一页一页右键保存太浪费资源与时间了,所以写了个Py爬虫扒图片吧~~赞美虚空龙,额,我是说万机神~#coding:utf-8#!/usr/bin/envpython3#=========================================================##漫画下载##================..

大家好,又见面了,我是你们的朋友全栈君。

“并不是所有数据都应该被获取。”

—— 弗罗指令,53.12

 

很多漫画找不到下载资源了(可能被亚空间吞没了吧),无奈只能从漫画网站上扒了。但一页一页右键保存太浪费资源与时间了,所以写了个Py爬虫扒图片吧~~赞美虚空龙,额,我是说万机神~

 

# coding:utf-8

#!/usr/bin/env python3

#=========================================================
#
# 漫画下载
#
#=========================================================

#                                            ;@#@@$|;'`.                                            `
#                                            ;@#############&|:`                                    `
#                                            ;@####################|`                               `
#                                            ;@####################@@##$:                           `
#                                            :@#@#########################@!.                       `
#                                      .%####$;::;$###########################|.                    `
#                                      .%####|    |#############################&:                  `
#                       .;&#%.         .%####|    |###########$!$##################|.               `
#                    '&##@##@$`        `%####|    |#@@#######%.    '$################|              `
#                 `%##########&: `:|&########|     .`:%#####%.        `$##############@;            `
#                  :&#############@@#########|                       .%###############@@$'          `
#                   '$#######################|                      .|###################@!.        `
#                    `$#############@########%.                    .|######################$`       `
#                   !##############@|'       :@#####&!'             .!@#####################&`      `
#       .%@;.     |#############%`           ;######@@###$`            ;@##################@@&'     `
#      :&#####&:|##########@#&:              ;@#############$.           ;@#&;`   |###########&:    `
#     |########@###########&'                :@#############@#$`                   '&##########&'   `
#    !####################|.                 :@################@;                   '&##########$`  `
#   ;@@@#################!                   :@##################|                   ;@##########|  `
#     '$@###############!                    :@##################@;               ;&#############@: `
#        .%############$`                    :@###################$`           `$#@###############%.`
#        `$############|                     :@###################&'            |#################@:'
#        |#############|                     :@###################@:            '&#################|:
#       `$#############|.                    :@###################&'             |#################$!
#   ...`%##############&'                    :@#################@#%.             '$################@%
#&######################$.                   :@##################&:                      |##########$
#&#######################|                   :@#################@;                       ;@#########$
#&#######################@:                  :@#################%.                       :@#########$
#&########################|                  ;@#################!                        !##########$
#@########################|                  ;@#########@@@@#@#@;                       `%##########$
#       ;@###############$`    `::`          :@####@@###$:';&###&'               '&################@%
#       .%##############|    `$#@@###$;`.    ;@@##&|:        ;@##@:             .%#################$!
#        !#############&:    `$#######@@@#%. :@@;            |####|.            ;@#################|'
#        .%#############&:    :@#@@@##@%'    :@##@!`        '$#@@%`            .%#################@:'
#        :$##############&:    .::`.        :;;&######@%!:;$##@@%.             '$#################%.`
#    .;@##################|                ;@! `&######@@#@#####!                 '%##@##########&: `
#   '&@@###################!              `$#!  !#########@#@@#|                     |###########|  `
#    :@#####################&!'`:!|'      '' :@$!&#####$``;!;'                      ;@##########$`  `
#     :@#####################@#@@#|          ;&@########|                          |###########&'   `
#      `$#@##@|.'%#############@#$`          ;@########@$'              '%###$'  .%###########&:    `
#       .|$:      '$#############%.       .  ;@#$|&##@@#&:            `$#####################&'     `
#                   `%###########!  .'.  |!  ;##%:%#&;$##|          '$######################&'      `
#                    '$######################|.                     ;######################%.       `
#                   |########################|.                      '&##################@!         `
#                  %################@@#######|           `;:.         `$##############@@%`          `
#                 .|##@#####@#%.   `:|$@#####|    '|&####@&#$        .|@############@@&'            `
#                     :&###@@|.        .%####|    |##########&'   `%##@###########@@&:              `
#                        `|@|          .%####|    |############@@#################&:                `
#                                      .$#@@#|    |###########################@#%`                  `
#                                       :|%$&$$&&&###########################$'                     `
#                                            :@#@######################@@#$'                        `
#                                            :@###################@###$;.                           `
#                                            :@############@@####@|'                                `
#                                            ;@#@@########@%;'.                                     `
#
# "There is no truth in flesh, only betrayal."
# "There is no strength in flesh, only weakness."
# "There is no constancy in flesh, only decay."
# "There is no certainty in flesh but death."
# — Credo Omnissiah
#

#转utf8中文
#import io
#import sys
#import cv2
#import numpy as np
#sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')

import os
import urllib.request
import logging
import sys

import threading
from concurrent.futures import ThreadPoolExecutor

##同时运行线程数目
threadCount = 20
pool = ThreadPoolExecutor(threadCount)

#下载和存储地址
downloadURL = "https://xxxxxxx/xxxxx/"
downloadPath = "PATH/download/"

#最大页码
maxPageCount = 200

logging.basicConfig(
    format='%(asctime)s %(levelname)s %(message)s',
    level=logging.INFO,
    stream=sys.stdout)

opener = urllib.request.build_opener()
opener.addheaders = [("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1941.0 Safari/537.36"),
                     ("Referer", "https://xxxxxxx/")]

def down(_save_path, _url):
    try:
        #伪装
        urllib.request.install_opener(opener)
        urllib.request.urlretrieve(_url, filename=_save_path)
    except:
        print('Error when retrieving the URL:', _save_path)


def downloadAtIndex(index):
    file_path = downloadPath + str(index) + ".jpg"
    url = downloadURL + str(index) + ".jpg"

    if not os.path.isfile(file_path):
        # if dir 'dir_name/' doesn't exist
        file_dir = file_path[:-9]
        if not os.path.exists(downloadPath):
            os.mkdir(downloadPath)

        print("Downloading file", file_path)
        down(file_path, url)
    else:
        logging.info("File exists.")
    print(file_path," Done \n")


for i in range(1, maxPageCount):
    #多线程下载
    task = pool.submit(downloadAtIndex, (i))
    #单线程下载
#    downloadAtIndex(i)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148196.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • windows MySQL数据库备份bat脚本[通俗易懂]

    windows MySQL数据库备份bat脚本[通俗易懂]在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序+数据库备份脚本组合。其中,MySQL数据库备份,起到关键作用是mysqldump。有关于mysqldump命令的用法,可以找MySQL的官方文档了解。以下主要描述脚本:echo设置MySql数据库的连接信息sethost=127.0.0.1setusername=rootsetpassword…

  • springEL表达式_赋值表达式的条件

    springEL表达式_赋值表达式的条件一、SpEL介绍二、SpEL用法1.在@Value注解中使用2.在XML配置中使用3.在代码中创建Expression对象三、SpEL原理1.解析器:ExpressionParser2.表达式:Expression3.上下文:EvaluationContext使用流程四、表达式语法1.基本表达式①字面量表达式②算数运算表达式③关系运算表达式④逻辑运算表达式⑤字符串连接及截取表达式⑥三目运算⑦Elivis表达式⑧正则表达式2.类相关表达式

  • CEGUI学习

    CEGUI学习先来个引子,CEGUI是一个游戏UI库,开源,使用XML作资源定位,支持lua脚本,支持多字节语言的显示,其功能可以说是十分强大的,而且非常灵活,目前的稳定版本是0.5,可见其离发布还有一段距离,bug和未完成的东西都不少,然而这也是它的魅力之一,我们可以对其进行修改和扩充。使用CEGUI完全可以制作出一流水准的游戏UI来。其次,也是比较主要的,它有几款指定的编辑器,其实UI库都

  • 实习生 Git 不熟练,还没脸去问是种什么体验…

    实习生 Git 不熟练,还没脸去问是种什么体验…文章目录尴尬Git概述git分区原理Git常用指令设置用户签名初始化本地库查看本地库状态添加暂存区提交本地库修改文件查看历史版本版本Git分支操作分支基本操作查看分支创建分支分支开发切换分支合并分支合并冲突解决Git团队协作机制团队协作跨团队协作远程仓库别名推送本地仓库到远程仓库克隆远程仓库到本地拉取远程库内容尴尬昨儿个我导师给了我个Git相关的小任务,不得不说我导师是真的好,他怕我不会还演示了一遍,奈何我只会gitclone。。。还好他演示的时候把命令都留在终端上了,折腾了半小时.

  • 两款工控控件对比评测:Iocomp和ProEssentials

    两款工控控件对比评测:Iocomp和ProEssentials对于程序员来说,要凭一己之力开发出漂亮逼真的工控仪表和工控图表是非常耗时间和精力的,那么使用专业的第三方控件就是不错的选择,不仅节约开发时间,降低了项目风险,最重要的是第三方控件写的程序更专业,工控图

  • 集合类型python_集合 python

    集合类型python_集合 python集合集合的特点:是一种可迭代的、无序的、不能包含重复元素的数据结构去重b=[10,5,6,1,9,1]c=set(b)print(c)>>>{1,5

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号