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 相关文章推荐
Python随机生成一个6位的验证码代码分享
Mar 24 Python
python3模块smtplib实现发送邮件功能
May 22 Python
python 实现将字典dict、列表list中的中文正常显示方法
Jul 06 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
python爬虫之urllib库常用方法用法总结大全
Nov 14 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
Django数据库连接丢失问题的解决方法
Dec 29 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
Python for i in range ()用法详解
Sep 18 Python
Python 限定函数参数的类型及默认值方式
Dec 24 Python
Python 利用OpenCV给照片换底色的示例代码
Aug 03 Python
Python lambda表达式原理及用法解析
Aug 18 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 SEO优化之URL优化方法
2011/04/21 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
php post换行的方法
2020/02/03 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
JS 中可以提升幸福度的小技巧(可以识别更多另类写法)
2018/07/28 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
[46:32]Fnatic vs OG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
儿童编程python入门
2018/05/08 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
详解python Todo清单实战
2018/11/01 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
数字漫画:comiXology
2020/06/13 全球购物
《李广射虎》教学反思
2014/04/27 职场文书