Mr_Cxy

导航

Python 2.7_爬取妹子图网站单页测试图片_20170114

1、url= http://www.mzitu.com/74100/x,2为1到23的值

2、用到模块 os 创建文件目录; re模块正则匹配目录名 图片下载地址; time模块 限制下载时间;requests模块获取网页源代码;urllib模块 urllib.urlretrieve(图片url,保存的带扩展名的文件名x.jpg)方法下载图片

3、知识点 文件目录处理  函数封装调用 全局变量

4、代码

 

#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()

   

 

posted on 2017-01-14 13:03  Mr_Cxy  阅读(263)  评论(0编辑  收藏  举报