大家好,又见面了,我是你们的朋友全栈君。
“并不是所有数据都应该被获取。”
—— 弗罗指令,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 sys
import threading
from concurrent.futures import ThreadPoolExecutor
##同时运行线程数目
threadCount = 20
pool = ThreadPoolExecutor(threadCount)
#下载和存储地址
downloadURL = "https://xxxxxxx/xxxxx/"
downloadPath = "PATH/download/"
#最大页码
maxPageCount = 200
logging.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 exist
file_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)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148196.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...