萝卜头IT论坛

了解更多
搜索
查看: 357|回复: 4
收起左侧

python动漫之家爬虫

[复制链接]
发表于 2020-3-9 14:43:15 | 显示全部楼层 |阅读模式

昨晚上还在看的漫画,

今天起床就被下架了,

太惨了

用python写了个爬虫,

能通过API看到的漫画,

就能爬

import requests
import json
import os, re
BASEDIR = os.getcwd()
comicId = 7474  # 填漫画的ID
headers = {'Referer':'http://images.dmzj.com/'}
comicInfo = requests.get("http://v2.api.dmzj.com/comic/%d.json"%comicId).content
comicInfo = json.loads(comicInfo)
chapters = comicInfo['chapters'][0]['data']
for chapter in chapters:

    cId = chapter['chapter_id']
    cTitle = chapter['chapter_title']
    cOrder = chapter['chapter_order']

    cdir = BASEDIR + '/%s'%cTitle
    if not os.path.exists(cdir):
        os.makedirs(cdir)

    print("%s create folder %s"%(cTitle, cdir))

    chapterInfo = requests.get("http://v2.api.dmzj.com/chapter/%d/%d.json"%(comicId, cId)).content
    chapterInfo = json.loads(chapterInfo)
    for page in chapterInfo['page_url']:
        match = re.search('(\d+).jpg', page)
        print(match.group(1))
        res = requests.get(page, headers=headers)
        pic = open(cdir + '/%s.jpg'%match.group(1), 'wb')
        for chunk in res.iter_content():
            pic.write(chunk)
        pic.close()

# res = requests.get("http://imgsmall.dmzj.com/w/7474/27922/0.jpg", headers=headers)
# pic = open('t/pic.jpg', 'wb')
# for chunk in res.iter_content():
#     pic.write(chunk)
# pic.close()

un.png

没有多线程,凑活着用。86话爬三分钟。

回复

使用道具 举报

发表于 2020-3-10 05:22:45 | 显示全部楼层
这个显示器好大
回复

使用道具 举报

发表于 2020-3-10 15:04:18 | 显示全部楼层
厉害
回复

使用道具 举报

发表于 2020-3-10 16:21:57 | 显示全部楼层
硬核!
回复

使用道具 举报

 楼主| 发表于 2020-3-10 17:36:41 | 显示全部楼层
nkc3g4 发表于 2020-3-10 05:22
这个显示器好大

27寸的
回复

使用道具 举报

联系站长(Contact)|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2020-6-3 15:29 , Processed in 0.104612 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表