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概率计算器实例分析
Mar 25 Python
详解Python中的日志模块logging
Jun 19 Python
让python在hadoop上跑起来
Jan 27 Python
python爬取网页内容转换为PDF文件
Jul 28 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
关于tf.reverse_sequence()简述
Jan 20 Python
如何写python的配置文件
Jun 07 Python
django haystack实现全文检索的示例代码
Jun 24 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
Aug 07 Python
python模块内置属性概念及实例
Feb 18 Python
python flask框架快速入门
May 14 Python
详解Python为什么不用设计模式
Jun 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
FCKeditor的安装(PHP)
2007/01/13 PHP
PHP面向对象分析设计的经验原则
2008/09/20 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
jQuery的三种$()
2009/12/30 Javascript
Checbox的操作含已选、未选及判断代码
2013/11/07 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
微信小程序实现下滑到底部自动翻页功能
2020/03/07 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
React实现轮播效果
2020/08/25 Javascript
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python之import机制详解
2014/07/03 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
Python基本数据结构之字典类型dict用法分析
2019/06/08 Python
python自定义时钟类、定时任务类
2021/02/22 Python
PHP统计代码行数的小代码
2019/09/19 Python
详解django中Template语言
2020/02/22 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
酷瑞网络科技面试题
2012/03/30 面试题
会计实习期自我鉴定
2013/10/06 职场文书
后勤人员岗位职责
2013/12/17 职场文书
演讲稿的写法
2014/05/19 职场文书
小学生春游活动方案
2014/08/20 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
学校工会工作总结2015
2015/05/19 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
党员干部学习心得体会
2016/01/23 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS