用Python抓取漫画并制作mobi格式电子书,不妨一起

作者: 网络编程  发布:2019-12-23

金沙澳门官网 ,  想看某一部漫画,但是用手机看感觉屏幕太小,用电脑看吧有太不方面。正好有一部Kindle,决定写一个爬虫把漫画爬取下来,然后制作成 mobi 格式的电子书放到kindle里面看。

金沙澳门官网 1

  一、编写爬虫程序

漫画书温暖了很多人的岁月,而喜欢二次元文化的朋友也不在少数,连上海男篮都改名“上海哔哩哔哩篮球队”了,那么kindle可以看漫画吗?

  用Chrome浏览器打开目标网站,按下F12 启动“开发者人员工具”,分析目标网站的代码,看漫画存放的真实地址。现在网站的防护措施都做的很好,基本不会出现“右键”——“图片另存为” 然后保存漫画这种情况的。分析漫画页面 “下一章” 按钮对应的元素,通过使用 Python selenium Chrome浏览器 的组合,让爬虫自动化遍历该漫画所有章节并下载漫画:

大家都知道kindle看电子书很棒,但是除了看文字以外,kindle还可以看漫画哦,并且观感很棒,纸张感扑面而来~

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import requests
import os



def mkdir(path):
    '''
    防止目录存在
    :param path:
    :return:
    '''
    if not os.path.exists(path):
        os.mkdir(path)


def SavePic(filename,url):
    '''
    图片的保存
    :param filename: 
    :param url: 
    :return: 
    '''
    content = requests.get(url).content
    with open(filename,'wb') as f:
        f.write(content)

def get_TOF(index_url):
    url_list = []
    chrome_options = Options()
    chrome_options.add_argument('--headless')#启用Chrome浏览器“无头模式”,提高抓取速率
    browser = webdriver.Chrome(chrome_options=chrome_options)    
    browser.get(index_url)
    browser.implicitly_wait(3)

    title = browser.title.split(',')[0]#获取漫画标题
    mkdir(title)#创建目录

    comics_lists = browser.find_elements_by_class_name('comic_Serial_list')#找到漫画章节
    for part in comics_lists:#找到每一章节所在的标签信息
        links = part.find_elements_by_tag_name('a')
        for link in links:
            url_list.append(link.get_attribute('href'))#获取每个单独章节链接
    browser.quit()
    Comics = {'name':title,'urls':url_list}
    return Comics

def get_pic(Comics):
    comic_list = Comics['urls']
    basedir = Comics['name']
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    browser = webdriver.Chrome(chrome_options=chrome_options)    for url in comic_list:
        browser.get(url)
        browser.implicitly_wait(3)
        dirname = basedir '/' browser.title.split('-')[1]
        mkdir(dirname)
        #找到漫画一共有多少页
        pageNum = len(browser.find_elements_by_tag_name('option'))
        #找到下一页按钮
        nextpage = browser.find_element_by_xpath('//*[@id="AD_j1"]/div/a[4]')
        for i in range(pageNum):
            pic_url = browser.find_element_by_id('curPic').get_attribute('src')
            filename = dirname '/' str(i) '.png'
            SavePic(filename,pic_url)
            nextpage.click()
        print('当前章节t{}  下载完毕'.format(browser.title))
    browser.quit()
    print('所有章节下载完毕!')


if __name__ == '__main__':
    url = str(input('请输入漫画首页地址:n'))
    Comics = get_TOF(url)

#print(Comics)
    get_pic(Comics)

金沙澳门官网 2

 

今天静读君就来向大家安利下看漫画的方法~

  二、整理文件夹顺序

一、获取漫画资源

  漫画下载完之后,按照章节顺序将漫画的文件夹排列好。确保 “按文件夹名称排列” 得到的顺序和漫画章节顺序相同。(这里可以用Python写一个重命名脚本或者用文件夹批量命名软件来完成),方便电子书的制作。

1.kindle 漫画推送服务

Pixvol 是一个主打 kindle 漫画推送服务的网站,提供热门的漫画的 mobi 格式的文件下载或者直接推送到 kindle 设备。登录,然后设置认定的安全邮箱即可使用推送服务。

  

2.可以参考这篇文章:

网罗38种免费下书方法,妈妈再也不担心你找不到书看了!

本文由金沙澳门官网发布于网络编程,转载请注明出处:用Python抓取漫画并制作mobi格式电子书,不妨一起

关键词: 金沙澳门官网

上一篇:爬虫供给库,21天创制布满式爬虫
下一篇:没有了