python之花瓣美女下载
作者:vpoet
mail:vpoet_sir@163.com
注:代码随意copy 不用告诉我
主要功能:
    1.搜索花瓣http://huaban.com/下的图片
    2.选定下载图片数目
    3.显示下载进度
    4.创建目录并下载到桌面
注释少,凑合看。
 #coding: utf-8
import urllib, urllib2, re, sys, os
import random
reload(sys) def Schedule(a,b,c):
"""a:已经下载的数据块
b:数据块的大小
c:远程文件的大小"""
per = 100.0 * a * b / c
if per > 100:
per = 100
print '%.2f%%' % per def SearchAndDownLoadImg(SearchStr,NumPerPage,filepath): url = 'http://huaban.com/search/?q=%s&per_page=%s' % (SearchStr,str(NumPerPage)) Respon = urllib2.urlopen(url) Htm = Respon.read() print url+"\n\n\n" print "----------------Search Over,And Begin DownLoad----------------"+"\n\n" Patt=re.compile('"file":\{"farm":"farm1",.+?"bucket":"hbimg",.+?"key":"(.*?)",.+?"type":"image/(.*?)",.+?"width":') group = re.findall(Patt,Htm) #print "find total imgurl"+len(group)+"\n" x = 1 for item in group: imgurl=r"http://img.hb.aicdn.com/"+item[0]+"_fw658" urllib.urlretrieve(imgurl,filepath+'\pic%s.%s' % (str(x),item[1]),Schedule) print imgurl+"------>down over" +"\tpic"+ str(x) x = x+1 if __name__ == "__main__": print "Please input the picture you want to download:" SearchStr = raw_input() print "\n\n" print "Please input the PageNumber you want to download:" NumPerPage = raw_input() print "\n\n" print "-----------------------Begin Search---------------------------"+"\n" filenum = random.randint(20, 50) filename = 'PictureFile'+str(filenum) filepath = 'C:\Users\Administrator\Desktop'+'\\'+filename if(os.path.exists(filepath) == False):
os.mkdir(filepath) #print filepath SearchAndDownLoadImg(SearchStr,NumPerPage,filepath) #http://img.hb.aicdn.com/23a58517fb73f86bca85937f069724486b3e00a44caa-GMc99I_sq75sf print"\n\n" print "---------------------All Down Over-----------------------"

运行截图:

搜索Beatuiful,下载20张图片
花瓣搜索结果:
运行截图,显示下载进度:
图片爬取结果:

python之花瓣美女下载的更多相关文章

  1. Python实战:美女图片下载器,海量图片任你下载

    Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习 ...

  2. Windows版的各种Python库安装包下载地址与安装过程

    在用Python开发时(Windows环境),会碰到需要安装某个版本的第三方库,为了以后查找.安装方便,总结如下: windows版的各种Python库安装包下载地址:http://www.lfd.u ...

  3. windows使用python调用wget批处理下载数据

    wget是linux/unix下通常使用的下载http/ftp的数据,使用非常方便,其实wget目前经过编译,也可在windows下使用.最近需要下载大量的遥感数据,使用了python写了批处理下载程 ...

  4. python多进程断点续传分片下载器

    python多进程断点续传分片下载器 标签:python 下载器 多进程 因为爬虫要用到下载器,但是直接用urllib下载很慢,所以找了很久终于找到一个让我欣喜的下载器.他能够断点续传分片下载,极大提 ...

  5. Python之FTP多线程下载文件之分块多线程文件合并

    Python之FTP多线程下载文件之分块多线程文件合并 欢迎大家阅读Python之FTP多线程下载系列之二:Python之FTP多线程下载文件之分块多线程文件合并,本系列的第一篇:Python之FTP ...

  6. Python之FTP多线程下载文件之多线程分块下载文件

    Python之FTP多线程下载文件之多线程分块下载文件 Python中的ftplib模块用于对FTP的相关操作,常见的如下载,上传等.使用python从FTP下载较大的文件时,往往比较耗时,如何提高从 ...

  7. Python实现多线程HTTP下载器

    本文将介绍使用Python编写多线程HTTP下载器,并生成.exe可执行文件. 环境:windows/Linux + Python2.7.x 单线程 在介绍多线程之前首先介绍单线程.编写单线程的思路为 ...

  8. python之poplib模块下载并解析邮件

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之poplib模块下载并解析邮件 #https://github.com/michaelliao ...

  9. python 3.7.4下载与安装的问题

    发病时间:2019 年 8 月12 日 周一 1.操作系统环境: Win10 64位 2.pyhon版本3.7.4 python官网地址:www.python.org 本机下载的文件名为:python ...

随机推荐

  1. 并行编译加快VS C++项目的编译速度

    最近编译的项目都比较大,话说自己的电脑配置还行,但编译所花的时间还是很长,遇到需要重新编译整个项目的时候真的有回宿舍睡一觉的冲动.昨天一不小心被我发现了一款软件Xoreax IncrediBuild ...

  2. logstash 处理tomcat日志

    [root@dr-mysql01 tomcat]# cat logstash_tomcat.conf input { file { type => "zj_api" path ...

  3. Jquery之家5个顶级Material Design框架

    谷歌Material Design在如今的前端页面设计中非常流行.Material Design的设计风格向我们展示了一个简单而有内涵的现代UI设计方案. Material Design是如此的简洁美 ...

  4. UVA 10129-Play on Words(欧拉通路)

    题意:给N个单词,判断是否单词首尾(前一个单词的尾字符与后一个单词的头字符相同)相连能否形成一条链. 解析:找欧拉通路(欧拉回路或是欧拉链路),但这题事先需要并查集一下,判断是否只属于一个集合,如aa ...

  5. 重大新闻:借贷宝不用绑卡了,借贷宝APP推出肖像识别新功能!

    动动手指,20元人民币立即到手:http://www.cnblogs.com/mfryf/p/4754384.html 滴滴打车烧钱十几个亿,狂送打车券,很多人天天免费坐车! 去年年初百度钱包注册奖励 ...

  6. 利用FreeMarker静态化网页

    1.介绍-FreeMarker是什么 模板引擎:一种基于模板的.用来生成输出文本的通用工具 基于Java的开发包和类库 2.介绍-FreeMarker能做什么 MVC框架中的View层组件 Html页 ...

  7. 了解XSS攻击

    XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有 XSS漏洞的网站中输 ...

  8. 多线程中的lua同步问题

    最近写paintsnow::start时出现了一个非常麻烦的BUG,程序的Release版本大约每运行十几次就会有一次启动时崩溃(Debug版本还没崩溃过),崩溃点也不固定.经过简单分析之后,确定是线 ...

  9. SQL SERVER 2005 请求失败或服务未及时响应

    出现的问题如图所示,在开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager中,打开 ...

  10. SQL语言学习-数据操纵语言

    一般而言,数据库中数据的生命周期包括数据插入以及更新.数据删除3个阶段.首先需要用户或者系统将数据插入表.然后,对数据的使用,包括数据的检索以及数据的更新.最后,如果数据已经没有使用价值,则将数据删除 ...