利用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常用模块介绍
Nov 21 Python
Python中的super()方法使用简介
Aug 14 Python
python PyTorch参数初始化和Finetune
Feb 11 Python
python 实现数组list 添加、修改、删除的方法
Apr 04 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
python使用udp实现聊天器功能
Dec 10 Python
python爬取盘搜的有效链接实现代码
Jul 20 Python
python 字典访问的三种方法小结
Dec 05 Python
Python FtpLib模块应用操作详解
Dec 12 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
Python面向对象编程基础实例分析
Jan 17 Python
Python 无限级分类树状结构生成算法的实现
Jan 21 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
解析zend Framework如何自动加载类
2013/06/28 PHP
php简单实现数组分页的方法
2016/04/30 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
轻松搞定jQuery.noConflict()
2016/02/15 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
flask中的wtforms使用方法
2018/07/21 Python
python实现横向拼接图片
2020/03/23 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
NET程序员上机面试题
2015/05/23 面试题
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
保荐人的岗位职责
2013/11/19 职场文书
新闻记者个人求职的自我评价
2013/11/28 职场文书
幼师自我鉴定
2014/02/01 职场文书
师德演讲稿范文
2014/05/06 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
Redis高并发缓存架构性能优化
2022/05/15 Redis