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 动态获取当前运行的类名和函数名的方法
Apr 15 Python
Python import自定义模块方法
Feb 12 Python
Python基于PycURL实现POST的方法
Jul 25 Python
详解python里使用正则表达式的全匹配功能
Oct 19 Python
Python 统计字数的思路详解
May 08 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
python监测当前联网状态并连接的实例
Dec 18 Python
python调用matlab的m自定义函数方法
Feb 18 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
Python文本处理简单易懂方法解析
Dec 19 Python
Keras之fit_generator与train_on_batch用法
Jun 17 Python
python实现学生通讯录管理系统
Feb 25 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分页示例分享
2014/04/30 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
javascript简易画板开发
2020/04/12 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
Python异常处理总结
2014/08/15 Python
python3使用urllib模块制作网络爬虫
2016/04/08 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
python实现简单名片管理系统
2018/11/30 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python文件选择对话框的操作方法
2019/06/27 Python
Django中的AutoField字段使用
2020/05/18 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
2020/06/09 Python
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
教师对学生的评语
2014/04/28 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
个人投资合作协议书
2014/10/12 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
银行资信证明
2015/06/17 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL