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 SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
May 06 Python
python访问mysql数据库的实现方法(2则示例)
Jan 06 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
python 画三维图像 曲面图和散点图的示例
Dec 29 Python
超简单使用Python换脸实例
Mar 27 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
Python二元赋值实用技巧解析
Oct 25 Python
python3 实现调用串口功能
Dec 26 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 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
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
Vue 组件间的样式冲突污染
2017/08/31 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
详细介绍Python的鸭子类型
2016/09/12 Python
Python上下文管理器和with块详解
2017/09/09 Python
分分钟入门python语言
2018/03/20 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
python判断数字是否是超级素数幂
2018/09/27 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
基于Python实现用户管理系统
2019/02/26 Python
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
自行车租赁公司创业计划书
2014/01/28 职场文书
秋季运动会稿件
2014/01/30 职场文书
如何写早恋检讨书
2014/09/10 职场文书
优秀班组事迹材料
2014/12/24 职场文书
家长评语怎么写
2014/12/30 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
Java版 单机五子棋
2022/05/04 Java/Android