Python爬虫之下载网页图片

简介: 传统的方式是在想要的图片上鼠标点击右键另存为,或者用截图的方式保存图片,其实我们还可以通过使用简单的Python语言实现图片的下载并保存到本地,下面让我们看看如何实现吧一、确定图片的URL地址及获取URL网页页面的信息#coding:utf-8fromurllib.

传统的方式是在想要的图片上鼠标点击右键另存为,或者用截图的方式保存图片,其实我们还可以通过使用简单的Python语言实现图片的下载并保存到本地,下面让我们看看如何实现吧

一、确定图片的URL地址及获取URL网页页面的信息

#coding:utf-8

fromurllib.requestimporturlopen    #导入urlopen

defgetHtml(url):

    page = urlopen(url)   

    html = page.read()    #读取URL

    returnhtml

html = getHtml("http://g.hiphotos.baidu.com/image/pic/item/8694a4c27d1ed21bd85def25a46eddc450da3f5e.jpg")    #访问URL地址

print(html)

二、通过正则表达筛选想要的页面数据

www.cnblogs.com/fnng/archive/2013/05/20/3089816.html

www.jianshu.com/p/6bc77094374a

通过审查页面元素,可以找到图片的地址,如下:src=”https://imgsa.baidu.com/forum/pic/item/f6738bd4b31c8701b540a1bf257f9e2f0608fff1.jpg”


img_24b8593f8334b907d685330fdcf96b79.png
摘自百度图片

修改后代码如下:

#coding:utf-8

fromurllib.requestimporturlopen

importre

defgetHtml(url):

    page = urlopen(url)

    html = page.read()

    returnhtml

defgetImg():

    reg =r'src="(.+?\.jpg)" pic_ext'    #通过正则表达获取图片数据

    img = re.compile(reg)     

    img_list = re.findall(img,html)

    returnimg_list

html = getHtml("http://g.hiphotos.baidu.com/image/pic/item/8694a4c27d1ed21bd85def25a46eddc450da3f5e.jpg")

print(html)

三、将获取的数据保存到本地

通过for循环遍历并下载到本地,代码如下:

#coding:utf-8

fromurllib.requestimporturlopen

importre

importurllib

defgetHtml(url):

    page = urlopen(url)

    html = page.read()

    returnhtml

defgetImg():

    reg =r'src="(.+?\.jpg)" pic_ext'

    img = re.compile(reg)

    img_list = re.findall(img,html)

    x =0

    forimgurlinimg_list:

        urllib.urlretrieve(imgurl,'%s.jpg'% x)   #urllib.urlretrieve()方法,下载并保留到本地

        x +=1

html = getHtml("http://g.hiphotos.baidu.com/image/pic/item/8694a4c27d1ed21bd85def25a46eddc450da3f5e.jpg")

print(html)

目录
相关文章
|
5天前
|
存储 Python
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
python实现图片与视频转换:将视频保存为图片,将批量图片保存为视频
|
2天前
|
数据采集 存储 数据挖掘
Python网络爬虫实战:抓取并分析网页数据
使用Python的`requests`和`BeautifulSoup`,本文演示了一个简单的网络爬虫,抓取天气网站数据并进行分析。步骤包括发送HTTP请求获取HTML,解析HTML提取温度和湿度信息,以及计算平均温度。注意事项涉及遵守robots.txt、控制请求频率及处理动态内容。此基础爬虫展示了数据自动收集和初步分析的基础流程。【6月更文挑战第14天】
|
4天前
|
机器学习/深度学习 算法 数据可视化
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)
|
5天前
|
Python
图片相似度比较_python
图片相似度比较_python
6 1
|
8天前
|
数据采集 存储 中间件
Scrapy,作为一款强大的Python网络爬虫框架,凭借其高效、灵活、易扩展的特性,深受开发者的喜爱
【6月更文挑战第10天】Scrapy是Python的高效爬虫框架,以其异步处理、多线程及中间件机制提升爬取效率。它提供丰富组件和API,支持灵活的数据抓取、清洗、存储,可扩展到各种数据库。通过自定义组件,Scrapy能适应动态网页和应对反爬策略,同时与数据分析库集成进行复杂分析。但需注意遵守法律法规和道德规范,以合法合规的方式进行爬虫开发。随着技术发展,Scrapy在数据收集领域将持续发挥关键作用。
43 4
|
11天前
|
数据采集 存储 Web App开发
Python爬虫实战:从入门到精通
Python是开发网络爬虫的首选语言,因其简洁语法和丰富库如requests, BeautifulSoup, Scrapy。爬虫涉及HTTP交互、HTML解析及法律道德问题。以下是爬取豆瓣电影Top250的步骤:确定目标,分析网站,安装必要库(requests, BeautifulSoup),编写代码抓取电影名称、评分和简介,处理异常并优化,如设置请求间隔、使用代理IP和遵循Robots协议。
|
14天前
|
数据采集 JSON API
自动化Reddit图片收集:Python爬虫技巧
自动化Reddit图片收集:Python爬虫技巧
|
20天前
|
数据采集 存储 中间件
Python高效爬虫——scrapy介绍与使用
Scrapy是一个快速且高效的网页抓取框架,用于抓取网站并从中提取结构化数据。它可用于多种用途,从数据挖掘到监控和自动化测试。 相比于自己通过requests等模块开发爬虫,scrapy能极大的提高开发效率,包括且不限于以下原因: 1. 它是一个异步框架,并且能通过配置调节并发量,还可以针对域名或ip进行精准控制 2. 内置了xpath等提取器,方便提取结构化数据 3. 有爬虫中间件和下载中间件,可以轻松地添加、修改或删除请求和响应的处理逻辑,从而增强了框架的可扩展性 4. 通过管道方式存储数据,更加方便快捷的开发各种数据储存方式
|
1月前
|
数据采集 存储 JSON
Python爬虫面试:requests、BeautifulSoup与Scrapy详解
【4月更文挑战第19天】本文聚焦于Python爬虫面试中的核心库——requests、BeautifulSoup和Scrapy。讲解了它们的常见问题、易错点及应对策略。对于requests,强调了异常处理、代理设置和请求重试;BeautifulSoup部分提到选择器使用、动态内容处理和解析效率优化;而Scrapy则关注项目架构、数据存储和分布式爬虫。通过实例代码,帮助读者深化理解并提升面试表现。
32 0
|
9月前
|
数据采集 JSON 前端开发
Python爬虫进阶:使用Scrapy库进行数据提取和处理
在我们的初级教程中,我们介绍了如何使用Scrapy创建和运行一个简单的爬虫。在这篇文章中,我们将深入了解Scrapy的强大功能,学习如何使用Scrapy提取和处理数据。