首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

网络爬虫-第一讲(二)

如果各位是统计系的同学

相信大家应该有学过有关网页的一些基础内容叭~

本篇将继续为大家介绍有关请求、响应的内容鸭

请求

由客户端发出,共包括四部分内容:请求方法(Request Method)、请求网址(Request URL)、请求头(Request Headers)、请求体(Request Body)。

1、请求方法

常见请求方法:GET和POST。

在浏览器中直接输入URL并回车,就发起了一个GET请求,在GET请求中,参数会直接包含在URL中,例如在百度搜索框中输入:爬虫

URL会变为:https://www.baidu.com/s?wd=爬虫&rsv_spt=1&rsv_iqid=0xd6756d380003cff3&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=4&rsv_sug1=3&rsv_sug7=101

(注意:此处汉字之间没有空格,至于为啥word这么显示我也不清楚)。

wd表示要搜寻的关键字,POST请求大多在表单提交时发起,例如我们在一个网站进行登录时,输入用户名和密码,点击“登录”按钮,就会发起一个POST请求,数据以表单的形式传输,不体现在URL中。

区别:

1).GET请求参数包含在URL中,而POST请求的数据通过表单方式进行传输,不包含在URL当中,会包含在请求头中;

2).GET请求提交的数据最多1024字节,而POST请求没有限制。

(注:上传文件时,由于文件内容比较大,也会选用POST方式)。

所有请求方法:

2、请求头

请求头用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Referer、User-Agent等,服务器会根据请求头内的信息判断请求是否合法。

请求头内包含的信息:

Accept:请求报头域,用于指定客户端可接受哪些类型的信息

Accept-Language:指定客户端可接受的语言类型

Accept-Encoding:指定客户端可接受的内容编码

Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位置

Cookie:这是网站用于辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访问会话。通俗讲就是维持我们当前的状态,例如我们在一个网上上进行登录,登录之后我们保持着一个登录的状态,从而网站没有让我们反复地登录,就是Cookie的原因,例如我们刷新一下网页,请求头中包括这Cookie并将其发送给服务器,服务器通过Cookie识别出我们自己,检查出当前状态是登录状态。

Referer:此内容用来表示请求是从哪个网页发过来的。

User-Agent:简称UA,是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本信息,在爬虫时我们会利用这个信息,伪装成浏览器,如果不加很容易会被服务器识别出为爬虫。

Content-Type:用来表示具体请求中的媒体类型信息。

3、请求体

请求体一般承载的内容是POST请求中的表单数据,而对于GET请求,请求体为空。

4、请求网址

统一资源定位符URL,可以唯一确定我们想请求的资源。

响应

有服务器端返回给客户端,分为3部分:响应状态码(Response Status Code)、响应头(Response Headers)和响应体(Response Body)。

1.响应状态码

响应状态码表示服务器的响应状态,当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。

常见HTTP状态码:

200 - 请求成功

301 - 资源(网页等)被永久转移到其它URL

404 - 请求的资源(网页等)不存在

500 - 内部服务器错误

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

具体HTTP状态码列表请访问:http://www.runoob.com/http/http-status-codes.html

2.响应头

响应头包含了服务器对请求的应答信息,如Content-Type、Server、Set-Cookie等。

Date:标识响应产生的时间。

Last-Modified:指定资源的最后修改时间。

Content-Encoding:响应内容的编码。

Server:包含服务器的信息,例如名称、版本号等。

Content-Type:文档类型,指定返回的数据类型,如text/html表示返回HTML文档,application/x-javascript则代表返回javascript文件,image/jpeg表示返回图片。

Set-Cookie:设置Cookie(更新),响应头中的Set-Cookie告诉浏览器需要将此内容放在Cookie中,以便下次发送请求时携带。

Expires:指定响应的过期时间。

3.响应体

响应的正文数据都在响应体中,例如请求网页时,响应体就是网页的HTML代码,请求一张图片时,它的响应体就是图片的二进制数据。爬虫请求网页后,要解析的内容就是响应体。

在做爬虫时,我们主要通过响应体得到网页的源代码、JSON数据等,然后从中提取内容。

本期推送到此就结束啦,

关于网页的基本知识(html、css、javascript以及Cookie、会话)

将在下一篇推送中介绍

不见不散哟~

文案:王为广

排版:方悦

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190114B13JIA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券