分享好友 最新资讯首页 最新资讯分类 切换频道
python爬虫实验——爬取网页图片+网页源代码
2024-12-28 19:39

本实验将利用python程序抓取网络图片,完成可以批量下载一个网站的照片。所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。

1、网络爬虫

即Web Spider,网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。

网络爬虫的基本操作是抓取网页。

2、浏览网页过程

抓取网页的过程其实和读者平时使用浏览器浏览网页的道理是一样的。打开网页的过程其实就是浏览器作为一个浏览的“客户端”,向服务器端发送了
一次请求,把服务器端的文件“抓”到本地,再进行解释、展现。浏览器的功能是将获取到的HTML代码进行解析,然后将原始的代码转变成我们直接看到的网站页面。

URL的格式由三部分组成


第一部分是协议(或称为服务方式)。


第二部分是存有该资源的主机IP地址(有时也包括端口号)。


第三部分是主机资源的具体地址,如目录和文件名等。

第一部分和第二部分用“😕/”符号隔开

第二部分和第三部分用“/”符号隔开。

第一部分和第二部分是不可缺少的,第三部分有时可以省略。

爬虫最主要的处理对象就是URL,它根据URL地址取得所需要的文件内容,然后对它
进行进一步的处理。

因此,准确地理解URL对理解网络爬虫至关重要。

3、利用urllib2通过指定的URL抓取网页内容

在Python中,我们使用urllib2这个组件来抓取网页。

urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。

它以urlopen函数的形式提供了一个非常简单的接口。

4、HTTP的异常处理问题

当urlopen不能够处理一个response时,产生urlError。

不过通常的Python APIs异常如ValueError,TypeError等也会同时产生。

HTTPError是urlError的子类,通常在特定HTTP URLs中产生。

5、Timeout 设置(超时设置

在Python2.6前,urllib2 的API 并没有暴露 Timeout 的设置,要设置
Timeout 值,只能更改 Socket 的全局Timeout 值。在 Python 2.6 以后,超时可以通过 urllib2.urlopen() 的 timeout 参数直接设置。

项目包含两个文件,pet_spider.py和main_file.py。其中pet_spider.py文件定义了类PetSpider,包含3个方法分别是get_html_content下载网页源代码、get_urls获得网页图片urls、
download_images下载图片。main_file.py文件定义了主函数main,用于调用PetSpider类。

根据给定的网址来获取网页详细信息,得到的html就是网页的源代码。

get_html_content函数主要功能是递归下载网页源代码。注意将byte类型转换成string类型,其中re.findall的含义是返回string中所有与pattern(正则表达式)相匹配的全部字串,返回形式为数组。

新建pet_spider.py。
首先实现获取网页源代码的函数

 
 

继续向pet_spider.py文件中添加如下代码

 

现将所有图片url过滤出来

将图片下载到本地,首先将urls字符串保存到列表中,遍历列表中的urls,将下载的图片保存在文件中。

继续向pet_spider.py文件中添加如下代码

 
 
 

新建main_file.py文件。代码如下


最新文章
工厂员工个人年度工作总结5篇
【#工作总结# #工厂员工个人年度工作总结5篇#】通过总结,找出工作中的成功与失败、经验与教训,实事求是地总结去年的情况。如果
中科尚易推出快装结构专利:为未来机械臂技术注入新活力
2024年12月13日,国家知识产权局发布消息,中科尚易健康科技(北京)有限公司成功获得一项名为“快装结构及具有其的机械臂”的专
重磅!2024年中国及31省市生成式AI行业政策汇总及解读(全)
来源:前瞻产业研究院本文核心内容:中国生成式AI行业政策;各省市生成式AI行业政策;政策解读1、政策历程图从相关政策历程来看,
谷歌SEO入门指南:Google SEO优化怎么做?
许多外贸人士应该熟悉外贸SEO和外贸网站的优化。大多数已经做了几年外贸的外贸人士应该或多或少地接触过谷歌SEO和外贸网站的优化
深圳70平米二手房翻新要多少钱?
有的老房子装修风格比较过时,墙面有瑕疵需要重新翻新,想知道深圳70平米二手房翻新要多少钱?看看下面的介绍就明白了。 旧房翻新
手机清理管家官方版(万能管家锁匙)
手机清理管家app是一款非常专业的手机优化功能软件,具备了超强的全方位清理功能,智能的手机加速与空间清理服务,一键强力加速
【A890e(电信版)应用宝下载】联想A890e 电信版应用宝8.8.6免费下载
(Android)是腾讯应用中心倾力打造的手机应用商店,致力于为用户丰富、优质、个性化的安卓软件资源和一站式的下载管理体验,全
新东方2024年雅思英语线上课程多少钱啊?费用详解!
新东方2024年雅思英语线上课程多少钱啊?对于想要提高雅思成绩的考生来说,选择一套有效的线上课程至关重要。在新东方在线,提供
用AI生成美女写真,教你轻松打造完美形象!
访问平台:打开微信小程序,搜索“搜狐简单AI”。选择模板:在主页上,你会看到多种美女写真模板,你可以选择自己喜欢的风格或直
百度SEO优化攻略,揭秘流量翻倍增长秘诀
本文深度解析百度SEO优化推广引流策略,从关键词布局、内容优化、外链建设等方面,提供全方位指导,助您网站流量实现翻倍增长。