Python爬虫知识点——请求

Posted 南邮果粒橙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫知识点——请求相关的知识,希望对你有一定的参考价值。

请求

:请求方法、请求网址、请求头、请求体

请求方法:

常见的为:GET、POST

GET与POST主要区别:

  • GET请求参数包含在URL,可从URL中看出。POST请求的URL不包含参数,都是通过表单的形式传输的,包含在请求体中
  • GET请求提交的数据最多只有1024字节,POST无限制

其他还有HEAD、PUT、DELETE、CONNECT、OPTIONS、TRACE

请求的网址:

即URL,我们想要请求的资源

请求头:

用来说明服务器要使用的附加信息,比较总要的有Cookie、Referer、User-Agent等。

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

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

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

 Host:用于指定请求资源的主机IP和端口号,其内容为请求URL的原始服务器或网关的位   置。从HTTP1.1版本开始,请求必须包含此内容。

Cookie:也常用复数形式Cookies, 是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访问会话。例如,我们输人用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是Cookies的功劳。Cookies里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上Cookies 并将其发送给服务器,服务器通过Cookies识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容。

Referer:此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相应的处理,如做来源统计、防盗链处理等。

User-Agent: 简称UA,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本、浏览器及版本等消息。在做爬虫时加上此信息,可以伪装成浏览器;如果不加,很可能被识别出为爬虫

Content-Type:也叫互联网媒体类型( Intermet Media Type)或者MIME类型,在HTTP协议消息头中,它用来表示具体请求中的媒体类型信息。更多对应关系可以查看此对表:http://tool.oschina.net/commons

文件扩展名 Content-Type(Mime-Type)
.html、 .htx 、 .htm text/html
.gif image/gif
.json application/json

? Content-Type与POST提交数据方式的关系

Content-Type 提交数据的方式
appication/x-www-urlencodeed 表单数据
multipart/form-data 表单文件上传
applicatiobn/json 序列化json数据
text/html XML数据

如果构造POST请求,需要使用正确的Content-Type,不然可能导致POST提交后无法正常响应

==>因此,请求头是请求的重要组成部分,在写爬虫时,大部分情况下都需要设定请求头。

请求体:

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

文章摘自崔庆才的《Python3网络爬虫开发实战》

以上是关于Python爬虫知识点——请求的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫知识点——代理

Python爬虫知识点——爬虫的基本原理

100天精通Python(爬虫篇)——第43天:爬虫入门知识

python 爬虫开发基础知识

Python爬虫开发系列之三》Requests请求库的使用

python爬虫——urllib使用代理