python抓取豆瓣图片并自动保存示例学习


Posted in Python onJanuary 10, 2014

环境Python 2.7.6,BS4,在powershell或命令行均可运行。请确保安装了BS模块

# -*- coding:utf8 -*-
# 2013.12.36 19:41 wnlo-c209
# 抓取dbmei.com的图片。
from bs4 import BeautifulSoup
import os, sys, urllib2
# 创建文件夹,昨天刚学会
path = os.getcwd()          # 获取此脚本所在目录
new_path = os.path.join(path,u'豆瓣妹子')
if not os.path.isdir(new_path):
 os.mkdir(new_path)

def page_loop(page=0):
 url = 'http://www.dbmeizi.com/?p=%s' % page
 content = urllib2.urlopen(url)
 soup = BeautifulSoup(content)
 my_girl = soup.find_all('img')   
    # 加入结束检测,写的不好....
 if my_girl ==[]:
  print u'已经全部抓取完毕'
  sys.exit(0)
 print u'开始抓取'
 for girl in my_girl:
  link = girl.get('src')
  flink = 'http://www.dbmeizi.com/' + link
  print flink
  content2 = urllib2.urlopen(flink).read()
  with open(u'豆瓣妹子'+'/'+flink[-11:],'wb') as code:   #在OSC上现学的
   code.write(content2)
 page = int(page) + 1
 print u'开始抓取下一页'
 print 'the %s page' % page
 page_loop(page)
page_loop().
Python 相关文章推荐
python判断windows隐藏文件的方法
Mar 21 Python
python实现的简单抽奖系统实例
May 22 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
Python Queue模块详细介绍及实例
Dec 27 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
用Python实现读写锁的示例代码
Nov 05 Python
python对视频画框标记后保存的方法
Dec 07 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
Keras 切换后端方式(Theano和TensorFlow)
Jun 19 Python
Django REST Framework 分页(Pagination)详解
Nov 30 Python
python文件比较示例分享
Jan 10 #Python
python发送伪造的arp请求
Jan 09 #Python
python抓取京东价格分析京东商品价格走势
Jan 09 #Python
python实现电子词典
Apr 23 #Python
python中cPickle用法例子分享
Jan 03 #Python
使用python获取CPU和内存信息的思路与实现(linux系统)
Jan 03 #Python
Python群发邮件实例代码
Jan 03 #Python
You might like
拼音码表的生成
2006/10/09 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
python实现自动更换ip的方法
2015/05/05 Python
python开发之str.format()用法实例分析
2016/02/22 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
python实现爬山算法的思路详解
2019/04/09 Python
Django之PopUp的具体实现方法
2019/08/31 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
数据库什么时候应该被重组
2012/11/02 面试题
技术副厂长岗位职责
2013/12/26 职场文书
开办加工厂创业计划书
2014/01/03 职场文书
中职生求职信
2014/07/01 职场文书
机关职员工作检讨书
2014/10/23 职场文书
校本培训个人总结
2015/02/28 职场文书
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python