# -*- 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('搞定')
标签:py,爬虫,标题,次数,地址,循环,str,图录,replace From: https://www.cnblogs.com/nxhujiee/p/18650579