利用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学习小技巧之列表项的拼接
May 20 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
Python之web模板应用
Dec 26 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
python实现简单多人聊天室
Dec 11 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
基于pytorch 预训练的词向量用法详解
Jan 06 Python
Python log模块logging记录打印用法解析
Jan 20 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
Pycharm安装python库的方法
Nov 24 Python
python中str内置函数用法总结
Dec 27 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
[34:10]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
python redis 删除key脚本的实例
2019/02/19 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
英国家用电器购物网站:Hughes
2018/02/23 全球购物
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
《晚上的太阳》教学反思
2014/04/23 职场文书
市场调查策划方案
2014/06/10 职场文书
万能检讨书
2015/01/27 职场文书
TensorFlow的自动求导原理分析
2021/05/26 Python
Python 可迭代对象 iterable的具体使用
2021/08/07 Python
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL