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中的并发编程实例
Jul 07 Python
Python实现发送email的几种常用方法
Aug 18 Python
Django返回json数据用法示例
Sep 18 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
Django处理多用户类型的方法介绍
May 18 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
python pyinstaller 加载ui路径方法
Jun 10 Python
浅谈Python type的使用
Nov 19 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
Jan 10 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 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
珊瑚虫IP库浅析
2007/02/15 PHP
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
iframe实用操作锦集
2014/04/22 Javascript
理解AngularJs指令
2015/12/10 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
使用vuex的state状态对象的5种方式
2018/04/19 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
微信小程序控制台提示warning:Now you can provide attr "wx:key" for a "wx:for" to improve performance解决方法
2019/02/21 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
Python做文本按行去重的实现方法
2016/10/19 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
Linux下多个Python版本安装教程
2018/08/15 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
利用python进行文件操作
2020/12/04 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
新闻记者实习自我鉴定
2013/09/19 职场文书
应聘编辑职位自荐信范文
2014/01/05 职场文书
股东协议书范本
2014/04/14 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
签约仪式致辞
2015/07/30 职场文书
实验室安全管理制度
2015/08/05 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python
HTML基础详解(上)
2021/10/16 HTML / CSS
JS函数式编程实现XDM一
2022/06/16 Javascript