利用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使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python实现读取并保存文件的类
May 11 Python
node.js获取参数的常用方法(总结)
May 29 Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 Python
python实现两个文件合并功能
Apr 01 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
cmd运行python文件时对结果进行保存的方法
May 16 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
pytorch动态网络以及权重共享实例
Jan 06 Python
Django路由层URLconf作用及原理解析
Sep 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
php阳历转农历优化版
2016/08/08 PHP
PHP封装的PDO数据库操作类实例
2017/06/21 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
javascript call和apply方法
2008/11/24 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
2009/08/15 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
pytorch 数据集图片显示方法
2018/07/26 Python
Python 控制终端输出文字的实例
2019/07/12 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
文秘专业个人求职信
2013/12/22 职场文书
商铺租房协议书范本
2014/12/04 职场文书
教师业务学习材料
2014/12/16 职场文书
停电调休通知
2015/04/16 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python