“并不是所有数据都应该被获取。”
—— 弗罗指令,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 sysimport threading
from concurrent.futures import ThreadPoolExecutor##同时运行线程数目
threadCount = 20
pool = ThreadPoolExecutor(threadCount)#下载和存储地址
downloadURL = "https://xxxxxxx/xxxxx/"
downloadPath = "PATH/download/"#最大页码
maxPageCount = 200logging.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 existfile_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)