Python培训
400-996-5531
学习利用python进行爬虫,那么就得学习相应的一些网络协议的基础知识,这样你才可以在练习爬虫的过程中做到游刃有余。
在练习爬虫的过程中主要会用到如下几种知识:
浏览器访问服务器的过程
HTTP消息概念
POST和GET请求
什么是Cookie
下面将从这几方面进行讲解和说明
一。浏览器访问服务器的过程
1. 当你在访问网页时,不论是通过URL输入域名或IP,还是点击链接的时候,浏览器发送一个HTTP请求(Http Request)去获取某一个网页时. 服务器把相应的响应信息(Http Response)发送回给浏览器.
2. 浏览器分析Response中的 HTML信息,并且解析出来然后返回给用户。
3.WEB应用程序在于服务器交互的过程中,HTTP请求和响应时发送的都是一个消息结构。
二。HTTP消息概念
当浏览器向服务器发送请求的时候,发出http请求消息报文,服务器返回数据时,发出http响应消息报文,这两种类型的消息都是由一个起始行,消息头,一个指示消息头结束的空行和可选的消息体组成。http请求消息中,起始行包括请求方法,请求的资源, HTTP协议的版本号,消息头包含各种属性,消息体包含数据,GET请求并没有消息主体,因此在消息头后的空白行中没有其他数据。Http响应消息中,起始行包括HTTP协议版本,http状态码和状态,消息头包含各种属性,消息体包含服务器返回的数据内容。
下面用一个简单的实例来说明一下
客户端请求(Http Request):
Host cm.g.doubleclick.netUser-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0)Accept */*Accept-Language zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding gzip, deflateConnection keep-alive
服务端响应(Http Response):
(Status-Line) HTTP/1.1 200 OKDate Sun, 12 Nov 2017 13:36:22 GMTContent-Type text/htmlServer HTTP server (unknown)Content-Length 0X-XSS-Protection 1; mode=block
输出结果:
Hello World!
需要注意的是HTTP常见返回值:
200 OK 服务器成功处理请求
301/302 Moved Permanently(重定向)请求的URL已移走。响应报文中应该包含一个Location URL,说明资源现在所处的位置
501 Internal Server Error 服务器遇到错误,使其无法对请求提供服务
HTTP响应示例
404 Not Found 未找到资源
304 Not Modified(未修改) 客户的缓存资源是最新的,要客户端使用缓存内容
三。POST和GET请求
HTTP协议定义了与服务器交互的不同方法,比较常用的有4种,Put(增),Delete(删),Post(改),Get(查),即增删改查:现在主要说一下用于爬虫模拟登陆网站的两种主要方式PST和GET方法(详细内容大家可以自行百度):
这两种请求方法在访问浏览器资源时是必不可少的,在默认情况下,如果对MEthod不指定的话,提交方式为GET
两者的主要区别如下:
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:login.action?name=12345&password=456798&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。这种形式会把密码等内容以明文方式展现在url中,所以它是不安全的。
POST把提交的数据则放置在是HTTP包的包体中。
四。什么是Cookie
Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密),通俗易懂的讲解就是当你登陆一个网站,为了给用户带来良好的上网体验,它可以记录很多用户初始化或自定义化的信息,比如什么时候第一次登录及弱登录态等方便用户的使用。并且经过加密之后,保存在本地硬盘,当你再次浏览该网站时会展现你之前的访问内容。对于详细的cookie讲解大家可以自行百度。
我们这里讲解cookie是为了以后再模拟网站登录时会用到cookie。利用cookie就可以在下次登录网站时直接调用而不再输入账号和密码
本文内容转载自网络,本着分享与传播的原则,版权归原作者所有,如有侵权请联系我们进行删除!
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved