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 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
Python实现大文件排序的方法
Jul 10 Python
Python编程中装饰器的使用示例解析
Jun 20 Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 Python
python实现批量按比例缩放图片效果
Mar 30 Python
python批量赋值操作实例
Oct 22 Python
python实现n个数中选出m个数的方法
Nov 13 Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 Python
python pandas库的安装和创建
Jan 10 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
使用Django的JsonResponse返回数据的实现
Jan 15 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 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
简单解决新浪SAE无法上传文件的问题
2015/05/13 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
Jquery中Ajax 缓存带来的影响的解决方法
2011/05/19 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 jQuery
js Math数学简单使用操作示例
2020/03/13 Javascript
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
物业招聘计划书
2014/01/10 职场文书
购房委托书范本
2014/09/18 职场文书
物流仓管员岗位职责
2015/04/01 职场文书
运动会通讯稿100字
2015/07/20 职场文书