分享好友 最新资讯首页 最新资讯分类 切换频道
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文件。代码如下


最新文章
谷歌海外推广怎么样
谷歌海外推广策略:打造高效的品牌曝光之路一、引言在当今全球化的背景下,越来越多的企业开始将业务拓展至海外市场。谷歌作为全
磁力金牛电脑版代理商助力美妆行业品牌客户投放
2020年01月16日张丽敏300腾讯微信朋友圈广告,磁力金牛,快手广告推广,搜狗360百度uc推广,抖音推广软件开发、信息系统集成服务
如何通过SEO推广提升网站流量与排名,让你的生意飞起来!
SEO的核心原理是通过优化网站的内部和外部因素,提高网站的相关性、权威性和用户体验,从而提升网站在搜索引擎中的排名。具体来
seo编辑是干什么的
SEO编辑主要负责优化网站内容,提升网站在搜索引擎中的排名和曝光率。他们通过研究关键词、撰写高质量的原创内容、调整文章结构
银行、基金与科技企业聚首香蜜湖金融峰会:畅谈智能金融转型,实践中多项创新挑战亟待解决
21世纪经济报道记者 杨坪 深圳报道作为人工智能技术与金融业深度融合的新业态,智能金融能够优化金融服务、提高金融普惠、强化风
爱看韩漫
此应用程序需要访问以下内容访问网络允许程序访问网络.查看网络状态允许应用程序查看所有网络的状态。查看 WLAN 状态允许应用程
苹果地图标注
当然你是一家店铺一定会问店铺名称如何修改,因为太重要了。通过一些简单的方法也可以腾讯地图标注店铺地理位置,这样G多的用户
亚马逊店铺能卖多少钱?转让要注意什么?
亚马逊店铺现在注册是比较困难的,因为亚马逊平台对于店铺注册的审核非常严格,所以如果你已经注册了亚马逊店铺而且不想做了,那
福建最新建设项目引领科技革新,重塑未来生活体验
福建最新建设项目正积极推动科技重塑未来,以科技为核心力量,引领全新的生活方式。这些项目注重创新,致力于提升人们的居住体验
新奥门特免费资料大全火凤凰|最佳精选灵活解析
  在当今信息化时代,获取信息的便捷性不断提高,人们对于免费资料的关注度和需求也随之增加。本文以“新奥门特免费资料大全火