漫画自动下载工具。

漫画自动下载工具。

漫画自动下载工具。

漫画自动下载工具。

漫画图片太好看,想要批量保存,可是没有提供批量保存的接口,这可怎么办,我要一张一张点吗?那是不可能的,教大家如何快速获取漫画图片。

 

漫画自动下载工具。

漫画自动下载工具。

获取漫画图片思路

漫画图片太多,万一网络断了,那就什么都没有了,过上一段时间,本来免费的漫画,突然不免费了,这可怎么办?

 

答案很简单,让它断网之后也可以看,这要怎么做到呢?首先我想到的就是爬虫,使用爬虫获取图片的url,然后再使用保存,文件保存,这样能获取所有的图片了,然后就获取到所有的漫画图片了,想想是不是有点心动。

 

先给你一个场景,假如说漫画在一段时间之后突然要收费了,但是你的漫画还可以看,这是不是一件很高兴的,然后你就可以对喜欢漫画的人说,喂!我有这部漫画,你要不要,20块买给你了。

漫画自动下载工具。

代码实现

 

下面是代码的实现过程:

import re
import os
import requests
import time
import random

class kumiean():
def __init__(self):
    self.f="D:\\漫画\\"
    self.list=['Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50','Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11',
                'Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50',
                'Mozilla/5.0(Windows;U;WindowsNT6.1;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50',
                'Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;',
                'Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0)',
                'Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1',
                'Opera/9.80(Macintosh;IntelMacOSX10.6.8;U;en)Presto/2.8.131Version/11.11',
                'Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11',
                'Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TencentTraveler4.0)',
                'Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0)',
                'Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;360SE)',
                'Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;InfoPath.2;.NET4.0C;.NET4.0E;.NETCLR2.0.50727;360SE) ',
                'Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5',
                'Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;TencentTraveler4.0;.NETCLR2.0.50727)',
                'Opera/9.80(Android2.3.4;Linux;Operamobi/adr-1107051709;U;zh-cn)Presto/2.8.149Version/11.10']
    self.headers = {
                    'User-Agent': random.choice(self.list)
                    }
def url_4(self,url1):
    """获取本漫画的所有章节url"""
    time.sleep(random.uniform(1, 4))
    html = requests.get(url1, headers=self.headers)
    ti = r'''<a href="(.*?)" title="(.*?)" target="_blank" style="max-width: 200px;">.*?</a>'''
    url = re.findall(ti, html.text)
    if url==[]:
         pass
    else:
        for j in set(url):
            self.f_3=self.f_2+"\\" + j[1]
            if os.path.isdir(self.f_3)==True:
                continue
            else:
                try:
                    os.mkdir(self.f_3)
                except:
                    continue
            self.url_5(j[0])
def url_5(self,url1):
    """保存该漫画的本话的所有图片"""
    html = requests.get(url1, headers=self.headers)
    ti = r'''<li style="margin-top: -3.6px"><span><img src="(.*?)" data-image_id="\d+" id="image_\d+"></span></li>'''
    url = re.findall(ti, html.text)
    if url == []:
        print("vip章节,不能获取到目录")
        return
    else:
        for j, url3 in enumerate(url):
            f_4=self.f_3+"\\" + str(j) + ".jpeg"
            if os.path.exists(f_4)==True:
                continue
            else:
                ht = requests.get(url3, headers=self.headers).content
                with open(f_4, "wb") as f:#写入文件中
                    f.write(ht)

 

 

好了,以上就是所有的代码,另外为了方便使用,专门制作了打包了一个软件,只需要输入你想要抓取的url地址就可以轻松获取到漫画。

 

注:本软件只适合个人使用,请勿用于商业用途。

 

 

欢迎关注公众号,公众后台回复“下载漫画”  获取网盘链接,还有更多有趣的软件等你来发现。

漫画自动下载工具。

O ^ ~ ^ O

 

相关推荐……………………

 

自动生成词云,了解一下​

python实现祝福弹框

微信自动添加好友

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111423.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring spel表达式_substring sql

    spring spel表达式_substring sqlSpEL表达式简介用法1.注解@Value2.XML配置3.Expression表达式语法简介SpringExpressionLanguage(缩写为SpEL)是一种强大的表达式语言。在Spring产品组合中,它是表达式计算的基础。它支持在运行时查询和操作对象图,它可以与基于XML和基于注解的Spring配置还有bean定义一起使用。由于它能够在运行时动态分配值,因此可以为我们节省大量Java代码。依赖:在这里插入代码片用法SpEL有三种用法,一种是在注解@Value中

    2022年9月3日
  • java工程师简历项目经验怎么写_高级java开发工程师简历

    java工程师简历项目经验怎么写_高级java开发工程师简历开头在找工作的过程中,对于Redis技术知识的掌握已经成为必须的技能。美团面试常常就会被问到Redis相关知识,而这次我就差点倒在了美团3面,面试官连问我以下几个Redis的问题,然后就卡壳了…redis了解吗?你说说怎么用redis实现分布式锁?Redis常用数据结构及底层数据结构实现如何解决Redis的并发竞争Key问题如何保证缓存与数据库双写时的数据一致性?剩下的不太记得了…为此面试完回来针Redis专门做了一个面试问题大总结架构筑基大家都知道,性能一直

    2022年11月2日
  • 普林斯顿体系结构与计算机配件的关系研究_普林斯顿计算机博士

    普林斯顿体系结构与计算机配件的关系研究_普林斯顿计算机博士冯诺依曼、普林斯顿体系结构:输入输出设备不用说了吧。CPUCPU包括控制器和运算器。存储器这里的存储器实际上就是我们现在所说的内存。在学习单片机的时候,这个存储器可能是ROM,也可能是RAM,还可以扩展,但它一直都是半导体存储器件,属于直接与CPU交换数据的内存。下面的设备不在冯诺依曼体系结构图里硬盘而我们现在的硬盘则是磁性存储器件,它的读取速度比半导体存储器件要慢很多,并且它…

    2022年10月4日
  • 华为ensp安装包_华为服务器安装系统教程

    华为ensp安装包_华为服务器安装系统教程什么是eNSPeNSP是由华为公司研发并且免费供大家使用的图形化网络操作平台,主要是对各大企业的网络。路由器,以及交换机路由器进行模拟,呈现一个真实的场景,让用户能模拟练习网络技术!软件特点还原实景1,可模拟华为的AR路由器,部分交换机以及客户端实现企业网和运营商的图面呈现2,可以模拟客户机终端,云,中继交换机等3,仿真设备功能,快速的学习华为命令。快速了解华为命令4,可以通过真实网卡实现与真实设备的对接5,模拟接口抓包,可以很直观的看到协议的交互过程。具体图文安装步骤详解..

    2022年10月14日
  • HTML与XML的区别(转)

    什么是HTML  HTML的全拼是Hypertext Markup Language, 中文也就是超文本链接标示语言。HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需

    2022年2月25日
  • Linux安装Composer

    Linux安装Composer

    2021年10月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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