zoukankan      html  css  js  c++  java
  • 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()
    

       

  • 相关阅读:
    5种排序算法
    Numpy 基础
    Git 帮助
    SpringBoot巧用 @Async 提升API接口并发能力
    延时队列实现的方式总结
    Spring Boot 进行优雅的字段校验
    分布式搜索引擎Elasticsearch的架构分析
    Redis 使用规范
    Intellij IDEA远程debug线上项目记录
    领域驱动设计:领域接口化设计
  • 原文地址:https://www.cnblogs.com/Mr-Cxy/p/6285176.html
Copyright © 2011-2022 走看看