利用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中logging模块的用法实例
Sep 29 Python
python清除字符串里非字母字符的方法
Jul 02 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
python字典的遍历3种方法详解
Aug 10 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
python实现俄罗斯方块小游戏
Apr 24 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
python小白学习包管理器pip安装
Jun 09 Python
Python中使用Selenium环境安装的方法步骤
Feb 22 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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python实现五子棋小程序
2019/06/18 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
电子商务专员岗位职责
2013/12/11 职场文书
物流合作计划书
2014/01/10 职场文书
临床护理求职信
2014/04/26 职场文书
最美护士演讲稿
2014/08/27 职场文书
报效祖国演讲稿
2014/09/15 职场文书
高校教师个人总结
2015/02/10 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
战友聚会致辞
2015/07/28 职场文书
实习报告怎么写
2019/06/20 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis