python制作花瓣网美女图片爬虫


Posted in Python onOctober 28, 2015

花瓣图片的加载使用了延迟加载的技术,源代码只能下载20多张图片,修改后基本能下载所有的了,只是速度有点慢,后面再优化下

import urllib, urllib2, re, sys, os,requests
path=r"C:\wqa\beautify"
url = 'http://huaban.com/favorite/beauty'
#http://huaban.com/explore/zhongwenlogo/?ig1un9tq&max=327773629&limit=20&wfl=1
i_headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36"}
count=0

def urlHandle(url):
  req = urllib2.Request(url, headers=i_headers)
  html = urllib2.urlopen(req).read()
  reg = re.compile(r'"pin_id":(\d+),.+?"file":{"farm":"farm1", "bucket":"hbimg",.+?"key":"(.*?)",.+?"type":"image/(.*?)"', re.S)
  groups = re.findall(reg, html)
  return groups

def imgHandle(groups):
  if groups:
    for att in groups:  
      pin_id = att[0]
      att_url = att[1] + '_fw236'
      img_type = att[2]
      img_url = 'http://img.hb.aicdn.com/' + att_url

      r = requests.get(img_url)
      with open(path + att_url + '.' + img_type, 'wb') as fd:
        for chunk in r.iter_content():
          fd.write(chunk)

groups = urlHandle(url)
imgHandle(groups)

while(groups):
  count+=1
  print count
  pin_id = groups[-1][0]
  print pin_id
  urltemp = url+'/?max=' + str(pin_id) + '&limit=' + str(20) + '&wfl=1'
  print(urltemp)
  groups = urlHandle(urltemp)
  #print groups
  imgHandle(groups)
Python 相关文章推荐
详解Python3中yield生成器的用法
Aug 20 Python
Python 制作糗事百科爬虫实例
Sep 22 Python
windows下python之mysqldb模块安装方法
Sep 07 Python
pytorch cnn 识别手写的字实现自建图片数据
May 20 Python
python中从str中提取元素到list以及将list转换为str的方法
Jun 26 Python
python实现多人聊天室
Mar 31 Python
Python中将两个或多个list合成一个list的方法小结
May 12 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
Python实现画图软件功能方法详解
Jul 28 Python
详解python 内存优化
Aug 17 Python
python制作最美应用的爬虫
Oct 28 #Python
python使用wmi模块获取windows下的系统信息 监控系统
Oct 27 #Python
详解JavaScript编程中的window与window.screen对象
Oct 26 #Python
深入讲解Python中的迭代器和生成器
Oct 26 #Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 #Python
解析Python编程中的包结构
Oct 25 #Python
Python实现获取域名所用服务器的真实IP
Oct 25 #Python
You might like
php巧获服务器端信息
2006/12/06 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
laravel框架实现去掉URL中index.php的方法
2019/10/12 PHP
use jscript List Installed Software
2007/06/11 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
urllib2自定义opener详解
2014/02/07 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
numpy 声明空数组详解
2019/12/05 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
酒店端午节促销方案
2014/02/18 职场文书
岗位职责说明书
2014/05/07 职场文书
爱心捐款感谢信
2015/01/20 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书