广州番禺Python, Java小班周末班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6
4.1.1什么是网络协议?
人与人之间的协议很好理解,协议即为双方约定的,需共同遵守的一系列规则。譬如情侣恋爱时的若干协议:
(1) 不准与人暧昧,心里要想着对方
(2) 不可以贬低对方,要多为对方着想
(3) 可以吵架,但事后要互相检讨。且不论对错,男方得主动道歉
(4) 可以AA制,但大大方方的男生会更受人喜爱
计算机中的网络协议,也是协议,既然是协议,那么也同人的协议一样,系双方约定,需共同遵守。网络通信的过程是一个请求+响应的过程,数据请求方通过网络协议向数据提供方发起请求,数据提供方再通过网络协议向请求方进行数据的响应。在这一过程中,通常将数据请求方称为客户端,将数据提供方称为服务端。
在2.1节的教程中介绍的HTTP协议,就是一种网络协议,该协议规定了请求的格式,请求的方法,响应的格式等。浏览器向HTTP服务器发起请求时,必须遵守HTTP协议,按照协议中的请求格式,请求方法等来发起请求。
4.1.2 爬虫与浏览器
爬虫之所以能爬取到网页内容,是因为遵守了HTTP协议,按照HTTP协议的请求规范向站点服务器发起请求,从这个角度来看,爬虫与浏览器都是HTTP客户端。浏览器的主要工作是"代为"用户向站点发起请求,然后对服务端响应的超文本数据进行解析和渲染,在这一过程中,浏览器会根据HTTP协议的规范,设置一个User Agent的请求头,以标识浏览器的身份。
普通用户需要借助浏览器来访问网页,对于站点服务器来说,浏览器的行为都是"合法"的,因为网站的主要目的是为普通用户提供内容服务。
爬虫与浏览器的一个重要区别在于,爬虫可以按照一定的规则自动地抓取数据。爬虫在频繁抓取的情况下,会给站点服务器带来很大负担。此外,站点服务器出于数据保护的目的,会建立一种反爬机制,最简单的策略就是通过HTTP协议中的User Agent字段来识别合法的HTTP客户端。
4.1.3 User-Agent
User Agent通常简称为UA,中文释义为用户代理,主要的作用是标识HTTP客户端的身份。比如浏览器是一种HTTP客户端,在向站点服务器发起请求时,会在UA中写入浏览器的类型和版本号。
市面上常用的浏览器有IE,Google,Firefox,同学们可以找网上的在线工具来查看当前浏览器所使用的UA。站点服务器可以通过UA来识别合法的HTTP客户端,以拒绝恶意爬虫的访问请求。这种反爬策略的缺点在于,服务器只是简单地根据UA的字段信息来进行识别,并不能真正有效地禁止爬虫的数据抓取。
在2.1节的内容中有讲解到,并非所有爬虫都是恶意爬虫,比如搜索引擎的爬虫程序:网站需借助爬虫的帮助,将网页提交给搜索引擎。对于服务端的UA检测,爬虫可以很轻松地绕开这种反爬限制,在请求时直接加上浏览器的UA信息。
代码实例-使用requests模块设置爬虫的UA信息:
import requests """ (1) 字典类型变量headers,用来定义HTTP请求头,在请求头部添加UA信息 (2) headers中的键User-Agent,用来定义HTTP的User-Agent请求头 """ headers = { # 设置爬虫的UA为谷歌浏览器的UA 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36' } # 以下url并不存在,同学们在实际测试时,可以替换为待抓取的网页的url url = "http://www.justtest.com" response = requests.get(url, headers = headers
4.1.4 知识要点
(1) 人与人之间的协议很好理解,协议即为双方约定的,需共同遵守的一系列规则
(2) 计算机中的网络协议,也是协议,既然是协议,那么也同人的协议一样,系双方约定,需共同遵守
(3) HTTP协议,就是一种网络协议,该协议规定了请求的格式,请求的方法,响应的格式等。浏览器与爬虫向HTTP服务器发起请求时,必须遵守HTTP协议,按照协议中的请求格式,请求方法等来发起请求。
(4) User Agent通常简称为UA,其中文释义为用户代理,简称 UA,主要的作用是标识HTTP客户端的身份。比如浏览器是一种HTTP客户端,在向站点服务器发起请求时,会在UA中写入浏览器的类型和版本号。
4.1.5 最具实力的小班培训
薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,包拿Offer
(3) 数据分析高薪就业班,月薪11K-15K, 免费领取课程大纲
(4) Python大数据挖掘,量化投资就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取Python学习资料:
已有1位薯条发表了看法:
访客 评论于 2022-05-06 10:43:26 回复
4.1.3中的代码实例,是不是最后忘加了右括号?