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的Flask框架实现视频的流媒体传输
Mar 31 Python
Python实现购物车购物小程序
Apr 18 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
numpy中的delete删除数组整行和整列的实例
May 09 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
python写入并获取剪切板内容的实例
May 31 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
Aug 06 Python
基于python读取.mat文件并取出信息
Dec 16 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
Keras自动下载的数据集/模型存放位置介绍
Jun 19 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
python 怎样进行内存管理
Nov 10 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数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
jquery插件star-rating.js实现星级评分特效
2015/04/15 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
Jquery Ajax Error 调试错误的技巧
2015/11/20 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
vue2 如何实现div contenteditable=“true”(类似于v-model)的效果
2017/02/08 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
修改node.js默认的npm安装目录实例
2018/05/15 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python如何解除一个装饰器
2020/08/07 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
linux面试题参考答案(11)
2012/05/01 面试题
投标人廉洁自律承诺书
2014/05/26 职场文书
英语辞职信怎么写
2015/02/28 职场文书
校长师德表现自我评价
2015/03/04 职场文书
安全承诺书格式范本
2015/04/28 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS