Python爬虫获取图片并下载保存至本地的实例


Posted in Python onJune 01, 2018

1、抓取煎蛋网上的图片。

2、代码如下:

import urllib.request
import os
#to open the url
def url_open(url):
 req=urllib.request.Request(url)
 req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0')
 response=urllib.request.urlopen(url)
 html=response.read()
 return html
#to get the num of page like 1,2,3,4...
def get_page(url):
 html=url_open(url).decode('utf-8')
 a=html.find('current-comment-page')+23 #add the 23 offset th arrive at the [2356]
 b=html.find(']',a)
 #print(html[a:b])
 return html[a:b]
#find the url of imgs and return the url of arr
def find_imgs(url):
 html=url_open(url).decode('utf-8')
 img_addrs=[]
 a=html.find('img src=')
 while a!=-1:
  b=html.find('.jpg',a,a+255) # if false : return -1
  if b!=-1:
   img_addrs.append('http:'+html[a+9:b+4])
  else:
   b=a+9
  a=html.find('img src=',b)
 #print(img_addrs)  
 return img_addrs
  #print('http:'+each)
  
#save the imgs 
def save_imgs(folder,img_addrs):
 for each in img_addrs:
  filename=each.split('/')[-1] #get the last member of arr,that is the name
  with open(filename,'wb') as f:
   img = url_open(each)
   f.write(img)
 
def download_mm(folder='mm',pages=10):
 os.mkdir(folder)
 os.chdir(folder)
 url='http://jandan.net/ooxx/'
 page_num=int(get_page(url))
 
 for i in range(pages):
  page_num -= i
  page_url = url + 'page-' + str(page_num) + '#comments'
  img_addrs=find_imgs(page_url)
  save_imgs(folder,img_addrs)
  
if __name__ == '__main__':
 download_mm()

以上这篇Python爬虫获取图片并下载保存至本地的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用matplotlib实现在坐标系中画一个矩形的方法
May 20 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 Python
python的列表List求均值和中位数实例
Mar 03 Python
Python flask框架端口失效解决方案
Jun 04 Python
python开发一款翻译工具
Oct 10 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
Jan 06 Python
python time.strptime格式化实例详解
Feb 03 Python
python操作xlsx格式文件并读取
Jun 02 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 Python
python操作mysql代码总结
Jun 01 #Python
Python使用pylab库实现绘制直方图功能示例
Jun 01 #Python
python的格式化输出(format,%)实例详解
Jun 01 #Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 #Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 #Python
Python中if elif else及缩进的使用简述
May 31 #Python
python基于物品协同过滤算法实现代码
May 31 #Python
You might like
php结合ACCESS的跨库查询功能
2015/06/12 PHP
详解WordPress中过滤链接与过滤SQL语句的方法
2015/12/18 PHP
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
vue登录注册实例详解
2019/09/14 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
python图像处理之镜像实现方法
2015/05/30 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
应届护士求职信范文
2014/01/26 职场文书
舞蹈比赛获奖感言
2014/02/04 职场文书
七夕情人节促销方案
2014/06/07 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
2014年工程部工作总结
2014/11/25 职场文书
2014年企业党支部工作总结
2014/12/04 职场文书
装配车间主任岗位职责
2015/04/08 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
亮剑观后感600字
2015/06/05 职场文书
Nginx+Tomcat实现负载均衡、动静分离的原理解析
2021/03/31 Servers