# -*- coding: utf-8 -*-
import re
import requests
import os
def 取全部页():
单_访问=requests.get('https://www.meitulu.com/guochan/')
if 单_访问.status_code==200:
单_访问.encoding='utf-8'
return(int(re.findall(' ..<a href=".*?">(.*?)</a> <a href=".*?" class=".*?">下一页</a>',单_访问.text)[0]))
def 标题处理(标题):
标题=标题.replace('?','')#替换文字
标题=标题.replace('/','')
标题=标题.replace('|','')
标题=标题.replace(':','')
标题=标题.replace('*','')
标题=标题.replace('<','')
标题=标题.replace('>','')
标题=标题.replace('"','')
return(标题)
def 创建并设置目录(目录):
文件分割 = re.split('/',目录)#取文件名
地址=""
for 传递地址 in 文件分割:
if 地址=="":
地址=传递地址
else :
地址=地址+"/"+传递地址
if os.path.exists(地址)==False:
os.mkdir(地址)
os.chdir(目录)#设置工作目录
def 下载图片(下载地址,文件名):
if os.path.isfile(文件名)==False:
次数=1
while 次数 != 4:
读取=requests.get(下载地址)
if 读取.status_code == 200:
open(文件名, 'wb').write(读取.content)#写出
return("OK")
break
else:
次数 = 次数+1
if 次数==4:
return("NO")
return("已存在")
全部页数=取全部页()
for 首_循环次数 in range(全部页数):
if 首_循环次数+1==1:
访问=requests.get('https://www.meitulu.com/guochan/')
else:
访问=requests.get('https://www.meitulu.com/guochan/'+str(首_循环次数+1)+'.html')
if 访问.status_code==200:
访问.encoding='utf-8'
数组=re.findall('<p><span>.*?</span>数量: (.*?) 张.*?</p>[\S\s]*?<p class=p_title><a href="https://www.meitulu.com/item/(.*?).html" target="_blank">(.*?)</a></p>',访问.text)
多少页=len(数组)
创建并设置目录('d:/Users/Administrator/Desktop/Python/美图录-中国美女/'+str(首_循环次数+1))
for 局_循环次数 in range(多少页):
张=int(数组[局_循环次数][0])
数字=数组[局_循环次数][1]
标题=标题处理(数组[局_循环次数][2])
创建并设置目录('d:/Users/Administrator/Desktop/Python/美图录-中国美女/'+str(首_循环次数+1)+'/'+标题)
for 循环次数 in range(张):
状态=下载图片('http://mtl.ttsqgs.com/images/img/'+str(数字)+'/'+str(循环次数+1)+'.jpg',str(循环次数+1)+'.jpg')
print('下载 '+'张'+str(循环次数+1)+'/'+str(张)+' 组'+str(局_循环次数+1)+'/'+str(多少页)+' 页'+str(首_循环次数+1)+'/'+str(全部页数)+' '+状态+' '+标题)
print('搞定')