利用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遍历zip文件输出名称时出现乱码问题的解决方法
Apr 08 Python
python中查看变量内存地址的方法
May 05 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
python 在屏幕上逐字显示一行字的实例
Dec 24 Python
对python for 文件指定行读写操作详解
Dec 29 Python
numpy.random模块用法总结
May 27 Python
Python中一些深不见底的“坑”
Jun 12 Python
在Python中实现函数重载的示例代码
Dec 12 Python
Python如何读取文件中图片格式
Jan 13 Python
一小时学会TensorFlow2之基本操作2实例代码
Sep 04 Python
Python  序列化反序列化和异常处理的问题小结
Dec 24 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代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php curl_init函数用法
2014/01/31 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
深入理解JavaScript系列(31):设计模式之代理模式详解
2015/03/03 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
javascript相关事件的几个概念
2015/05/21 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
饭店工作计划书
2014/01/10 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
满月酒邀请函
2015/01/30 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL