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中用于去除空格的三个函数的使用小结
Apr 07 Python
Python的动态重新封装的教程
Apr 11 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
最大K个数问题的Python版解法总结
Jun 16 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
Jul 24 Python
django中的setting最佳配置小结
Nov 21 Python
78行Python代码实现现微信撤回消息功能
Jul 26 Python
python基础 range的用法解析
Aug 23 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
执行Python程序时模块报错问题
Mar 26 Python
Selenium自动化测试工具使用方法汇总
Jun 12 Python
Python 字符串池化的前提
Jul 03 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
JQuery 风格的HTML文本转义
2009/07/01 Javascript
js数组的操作详解
2013/03/27 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python获取脚本所在目录的正确方法
2014/04/15 Python
python中的__slots__使用示例
2015/02/26 Python
在Python中使用模块的教程
2015/04/27 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
PyQt5实现登录页面
2020/05/30 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
C有"按引用传递"吗
2016/09/06 面试题
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
人口与计划生育责任书
2015/05/09 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL