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程序中操作文件之isatty()方法的使用教程
May 24 Python
Django学习笔记之Class-Based-View
Feb 15 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
python获取本机所有IP地址的方法
Dec 26 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
Jun 19 Python
用Python徒手撸一个股票回测框架搭建【推荐】
Aug 05 Python
Python常用库大全及简要说明
Jan 17 Python
常用python爬虫库介绍与简要说明
Jan 25 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
使用matplotlib的pyplot模块绘图的实现示例
Jul 12 Python
通过代码实例解析Pytest运行流程
Aug 20 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
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
PHP+DBM的同学录程序(2)
2006/10/09 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
AngularJS 入门教程之事件处理器详解
2016/08/19 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
学雷锋树新风演讲稿
2014/05/10 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
公司总经理岗位职责
2015/04/01 职场文书
聊聊redis-dump工具安装问题
2022/01/18 Redis
Spring 使用注解开发
2022/05/20 Java/Android