一、url= http://www.mzitu.com/74100/x,2为1到23的值html
二、用到模块 os 建立文件目录; re模块正则匹配目录名 图片下载地址; time模块 限制下载时间;requests模块获取网页源代码;urllib模块 urllib.urlretrieve(图片url,保存的带扩展名的文件名x.jpg)方法下载图片python
三、知识点 文件目录处理 函数封装调用 全局变量函数
四、代码url
#coding:utf-8 import os import re import requests as rq import urllib import time #建立目录函数 保存文件位置 def create_catename(): #取出网页的上层目录名称 url=urls[0] html=rq.get(url).text cate_name=re.findall(r'<a href="http://www.mzitu.com/xinggan" rel="category tag">(.*?)</a>',html)[0] path='D:\\%s' % cate_name return path #下载图片 定义n为全局变量 以n计数为图片的文件名n.jpg 定义n全面变量 以避免for循环时候上次循环n的值被从新赋值 def getimg(): global n n=1 for url in urls: html = rq.get(url).text regex = re.compile('<img src="(.*?.jpg)" alt=') img_url = re.findall(regex, html)[0] urllib.urlretrieve(img_url,'%s.jpg' % n) n+=1 #main函数 调用上面的两个函数 urls是个全局变量 取23张页面 下载23张图 def main(): global urls urls = ['http://www.mzitu.com/74100/{}'.format(str(i)) for i in range(1, 24)] path=create_catename() #建立文件目录 os.mkdir(path) # 切换到该目录 os.chdir(path) time.sleep(2) getimg() main()