可能有些同学并不太懂为什么写爬虫首先要加一个请求头,下面是引用了崔庆才老师写的《python3网络爬虫实战开发》中的一篇文章,请大家参考
请求头:
是用来说明服务器要使用的附加信息,比较重要的信息有 Cookie Referer User-Agent
下面简要说明 些常用的头信息
Accept :请求报头域,用于指定客户端可接受哪些类型的信息
Accept-Language :指定客户端可接受的语言类型
Accept-Encoding :指定客户端可接受的内容编码
Host :用于指定请求资源的主机 IP 和端口号,其内容为请求 URL 的原始服务器或网关的位置。从HTTP 1. 版本开始,请求必须包含此内容。
Cookie :也常用复数形式 Cookies ,这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据 它的主要功能是维持当前访问会话 例如,我们输入用户名和密码成功登录某个网站后,服务器会用会话保存登录状态信息,后面我们每次刷新或请求该站点的其他页面时,会发现都是登录状态,这就是 Cookies 的功劳。Cookies 里有信息标识了我们所对应的服务器的会话,每次浏览器在请求该站点的页面时,都会在请求头中加上 Cookies 并将其发送给服务器,服务器通过 Cookies 识别出是我们自己,并且查出当前状态是登录状态,所以返回结果就是登录之后才能看到的网页内容。
Referer :此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这 信息并做相应的处理,如做来源统计、防盗链处理等
User-Agent :简称 UA ,它是一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本 浏览器及版本等信息 在做爬虫时加上此信息,可以伪装为浏览器;如果不加,很可能会被识别州为爬虫。
Content-Type :也叫互联网媒体类型( Internet Media Type )或者 MIME 类型,在 HTT 协议消息头中,它用来表示具体请求中的媒体类型信息 例如, text/html 代表 HTML 格式,image/gif 代表 GIF 图片, app lication/json 代表JOSN类型,更多对应关系可以查看此对照表http://tool.oschina.neνcommons
因此,请求头是请求的重要组成部分,在写爬虫时,大部分情况下都需要设定请求头。
– 再次感谢崔庆才老师–