利用Python2下载单张图片与爬取网页图片实例代码


Posted in Python onDecember 25, 2017

前言

一直想好好学习一下Python爬虫,之前断断续续的把Python基础学了一下,悲剧的是学的没有忘的快。只能再次拿出来滤了一遍,趁热打铁,通过实例来实践下,下面这篇文章主要介绍了关于Python2下载单张图片与爬取网页的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

一、需求分析

1、知道图片的url地址,将图片下载到本地。

2、知道网页地址,将图片列表中的图片全部下载到本地。

二、准备工作

1、开发系统:win7 64位。

2、开发环境:python2.7。

3、开发工具:PyCharm。

4、浏览器:Chrome。

三、操作步骤

A.知道图片的url地址,将图片下载到本地。

a1、打开Chrome,随意找到一个图片网站。

利用Python2下载单张图片与爬取网页图片实例代码

a2、打开开发者工具(f12键或者fn+f12键),选择第一张图片,可以看到它的src属性就是图片的地址,复制出来。

利用Python2下载单张图片与爬取网页图片实例代码

a3、编写代码。这里需要引用urllib库以及使用Python IO相关的知识。

# -*- coding:utf-8 -*
'''
知道图片地址,下载图片到本地
'''
import urllib
#图片url地址
url = 'http://p1.wmpic.me/article/2017/12/22/1513930326_ciDepIns_215x185.jpg'
#方法一
#获取图片数据
res = urllib.urlopen(url).read()
#文件要保存的路径名和文件名
path = "e:\dlimg\pic2.jpg"
#使用io写入图片
f = open(path , "wb")
f.write(res)
f.close()
#方法二
res2 = urllib.urlretrieve(url , 'e:\dlimg\pic3.jpg')

B.知道网页地址,将图片列表中的图片全部下载到本地。

b1、还是以上面的网页为爬取对象,在该网页下,图片列表中有30张照片,获取每张图片的src属性值,再来下载即可。

b2、利用BeautifulSoup解析网页,利用标签选择器获取每张图片的src属性值。

利用Python2下载单张图片与爬取网页图片实例代码

b3、编写代码。

# -*- coding: utf-8 -*-
import requests
import urllib
from bs4 import BeautifulSoup
url = 'http://www.wmpic.me/tupian/qingxin'
res = requests.get(url)
#使用BeautifulSoup解析网页
soup = BeautifulSoup(res.text , 'html.parser')
#通过标签选择器定位到图片位置(与css选择器差不多)
pic_list = soup.select('.item_box .post a img')
i = 0
for img_url in pic_list:
 #获取每个img标签的src属性
 url_list = img_url['src']
 #保存路径,后面是文件名
 save_path = 'E:\dlimg\\'+'downloadpic_'+str(i)+'.jpg'
 #解析图片,写入到本地
 pic_file = urllib.urlopen(url_list).read()
 f = open(save_path, "wb")
 f.write(pic_file)
 f.close()
 i = i+1

C.运行结果(红色框中pic2.jpg和pic3.jpg是A步骤运行结果,其余以downloadpic_*.jpg命名的图片是步骤B的运行结果)

利用Python2下载单张图片与爬取网页图片实例代码

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 Python
pyqt4教程之实现半透明的天气预报界面示例
Mar 02 Python
在Django的session中使用User对象的方法
Jul 23 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 Python
django使用LDAP验证的方法示例
Dec 10 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
Mar 10 Python
python使用numpy中的size()函数实例用法详解
Jan 29 Python
Python实现生成随机数据插入mysql数据库的方法
Dec 25 #Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 #Python
Python实现生成随机日期字符串的方法示例
Dec 25 #Python
浅谈Python NLP入门教程
Dec 25 #Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 #Python
关于Django显示时间你应该知道的一些问题
Dec 25 #Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 #Python
You might like
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
php实现无限级分类
2014/12/24 PHP
php将html转为图片的实现方法
2017/05/19 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
用JQuery调用Session的实现代码
2010/10/29 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
IntersectionObserver API 详解篇
2016/12/11 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
d3.js实现自定义多y轴折线图的示例代码
2018/05/30 Javascript
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python中的getopt函数使用详解
2015/07/28 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
python使用Matplotlib画饼图
2018/09/25 Python
python脚本开机自启的实现方法
2019/06/28 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
英国电气世界:Electrical World
2019/09/08 全球购物
2014新年寄语
2014/01/20 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
小学少先队活动总结
2015/05/08 职场文书
科技活动总结范文
2015/05/11 职场文书
Golang gRPC HTTP协议转换示例
2022/06/16 Golang