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 相关文章推荐
使用httplib模块来制作Python下HTTP客户端的方法
Jun 19 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
python 自动化将markdown文件转成html文件的方法
Sep 23 Python
python3调用R的示例代码
Feb 23 Python
Python(Django)项目与Apache的管理交互的方法
May 16 Python
python感知机实现代码
Jan 18 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
python 实现字符串下标的输出功能
Feb 13 Python
MATLAB数学建模之画图汇总
Jul 16 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
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
Angular实现form自动布局
2016/01/28 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
python爬虫基本知识
2018/03/05 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
英国日常交易网站:Wowcher
2018/09/04 全球购物
轻松制作精彩视频:Animoto
2018/09/19 全球购物
初三家长会邀请函
2014/01/18 职场文书
军训自我鉴定怎么写
2014/02/13 职场文书
出纳会计岗位职责
2014/03/12 职场文书
高级工程师英文求职信
2014/03/19 职场文书
小学生家长寄语
2014/04/02 职场文书
励志演讲稿200字
2014/08/21 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android