日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

【python3】爬取鼠绘汉化的海贼王漫画

發(fā)布時間:2025/6/16 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【python3】爬取鼠绘汉化的海贼王漫画 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

特別說明:

因為早些時候鼠繪的接口調(diào)整,之前的代碼已經(jīng)不能用了。

正好最近在學(xué)習(xí)scrapy,于是重新寫了一個,項目放在github??https://github.com/TurboWay/ishuhui

?

一、起因:

  很喜歡看海賊漫畫,其中鼠繪漢化的海賊王無疑是最好的,更新最快的。但是由于版權(quán)的問題,迫于壓力,鼠繪官網(wǎng)早一點的海賊王已經(jīng)看不了,但是。。。重點是,我發(fā)現(xiàn)接口還是可以用的,于是就寫了個爬蟲把鼠繪翻譯的海賊王漫畫都爬了下來。分享下源碼,供有需要的海迷使用。另外建議不要在高峰時段爬取,畢竟我們都愛鼠繪。

二、如何使用:

  有安裝python環(huán)境的,直接復(fù)制源碼,運行.py

三、代碼如下:? ?

# -*- coding: utf-8 -*- import requests,json,time,os,shutil,logging,sys from PIL import Image from io import BytesIOlogger = logging.getLogger('log') logger.setLevel(logging.DEBUG)# log format formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')# console log ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.setFormatter(formatter) logger.addHandler(ch)def get_url(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)'' Chrome/62.0.3202.75 Safari/537.36'}response = requests.get(url=url, headers=headers, timeout=5)js = json.loads(response.text)if js["errNo"] == 0:return js["data"]else:logger.warning("請求失敗:{0}".format(js))# 去掉文件名禁止符號 def clean(text):kws = ['/','\\',':','*','"','<','>','|','']for kw in kws:text = text.replace(kw,'.')return text# 新建文件夾 def makefile(path,istruncate):if os.path.exists(path) and istruncate:shutil.rmtree(path)os.mkdir(path)elif not os.path.exists(path):os.mkdir(path)# 下載圖片 def save_pic(img_src,picname):try:response = requests.get(img_src)image = Image.open(BytesIO(response.content))image = image.convert('RGB')image.save(picname)logger.info("{0}圖片下載成功".format(picname))flag = Trueexcept Exception as e:logger.info("{0}圖片下載失敗:{1}".format(picname,e))flag = Falsereturn flag# 保存圖片 def resave_pic(img_src,picname):count,flag = 0,save_pic(img_src,picname)while not flag:flag = save_pic(img_src, picname)count += 1if count > 5:breakdef get_data(path,nextid):url = 'http://hhzapi.ishuhui.com/cartoon/post/ver/76906890/id/{0}.json'.format(nextid)data = get_url(url)if data:server = 'http://pic04.ishuhui.com/'source, id, title, book, number = data['source'], data['id'], data['title'], data['book_text'], data['number']content_img = eval(data['content_img']) if data['content_img'] else {}if source == 1: # 鼠繪漢化makefile(path + '\\' + book, False)title = clean(title)filepath = path + '\{0}\{0} 第 {1} 話 {2}'.format(book,number,title)makefile(filepath, True) # 新建文件夾if content_img: # 下載圖片for img, imgurl in content_img.items():imgurl = server + imgurl.replace('/upload/','')picname = filepath + '\\'+ imgresave_pic(imgurl,picname)logger.info("ID:{2} 第 {0} 話 {1}下載完成".format(number,title,id))next = data['prev']if next:return next['id']elif nextid == 900: # 900的時候會找不到上一頁return 899if __name__ == "__main__":path=sys.path[0]nextid=get_data(path,10881)while nextid:nextid=get_data(path,nextid)time.sleep(3)

?

?四、結(jié)果如下:

  第598話 2年后 --?第908話 世界會議開幕,共309話,3.22G,其中680和681話缺失了,接口掃了一下也沒找到。

?

轉(zhuǎn)載于:https://www.cnblogs.com/TurboWay/p/9243971.html

總結(jié)

以上是生活随笔為你收集整理的【python3】爬取鼠绘汉化的海贼王漫画的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。