利用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 相关文章推荐
Django自定义认证方式用法示例
Jun 23 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
用pandas按列合并两个文件的实例
Apr 12 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
python获取交互式ssh shell的方法
Feb 14 Python
python异步存储数据详解
Mar 19 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
Jun 05 Python
Python从入门到精通之环境搭建教程图解
Sep 26 Python
Python实现使用dir获取类的方法列表
Dec 24 Python
Python网络爬虫信息提取mooc代码实例
Mar 06 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
May 22 Python
深入浅析python 中的self和cls的区别
Jun 20 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
COM in PHP (winows only)
2006/10/09 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
JS重要知识点小结
2011/11/06 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
英国著名的药妆网站:Escentual
2016/07/29 全球购物
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
小学生班会演讲稿
2014/01/09 职场文书
学习新党章思想汇报
2014/01/09 职场文书
大学新生军训方案
2014/05/03 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
百家讲坛观后感
2015/06/12 职场文书
创业计划书之餐饮
2019/09/02 职场文书