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的函数闭包使用中应注意的问题
Jun 20 Python
Python实现抢购IPhone手机
Feb 07 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
python多线程抽象编程模型详解
Mar 20 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
python算的上脚本语言吗
Jun 22 Python
python flask框架快速入门
May 14 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自定义函数之递归删除文件及目录
2010/08/08 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
JQuery的ajax基础上的超强GridView展示
2009/09/18 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
js对象的构造和继承实现代码
2010/12/05 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
javascript网页随机点名实现过程解析
2019/10/15 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
深入浅析python定时杀进程
2016/06/06 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
Django添加feeds功能的示例
2018/08/07 Python
python Django的web开发实例(入门)
2019/07/31 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
Python中常见的数制转换有哪些
2020/05/27 Python
德国高尔夫商店:Par71.de
2020/11/29 全球购物
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS