Python爬虫:requests的headers该怎么填

1、为什么要写headers?

我们一般写的爬虫会默认向服务器发送爬取请求,而一般情况下网站是不允许被爬虫访问的,输出的text信息中会出现抱歉,无法访问等字眼。我们通过更改User-Agent字段则可以实现网站请求,实现网页应答。

2、 headers该怎么找?

最简单的步骤如下:

  1.   打开你要爬虫的网页
  2.   按F12或通过浏览器右上角的“更多工具”选项选择【开发者工具】
  3.   按F5刷新网页
  4.   点击Network,再点击Doc
  5.   找到Headers,查看Request Headers的User-Agent字段,直接复制
  6.   将刚才复制的User-Agent字段构造成字典形式

界面显示与下图相似


headers中有很多内容,主要常用的就是user-agent 和 host,他们是以键对的形式展现出来,如果user-agent 以字典键对形式作为headers的内容,就可以反爬成功,就不需要其他键对;否则,需要加入headers下的更多键对形式。

 

 

 

3、如果你想知道User-Agent到底是什么?

User-Agent会告诉网站服务器,访问者是通过什么工具来请求的,如果是爬虫请求,一般会拒绝,如果是用户浏览器,就会应答。

我们的简单对User-Agent字段进行解释
我使用了Edge浏览器,查看User-Agent的结果:

user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36 Edg/80.0.361.54

User-Agent通常格式:

Mozilla/5.0 (平台) 引擎版本 浏览器版本号

第一部分:Mozilla/5.0
历史原因,User-Agent里默认带有Mozilla字样。

第二部分:平台信息
Windows NT 6.1是指我使用的操作系统的版本,win7对应的就是Windows NT 6.1。
Win64; x64是指操作系统是64位的

Windows系统下:

Windows NT 5.0 //  Windows 2000 
Windows NT 5.1 //  Windows XP
Windows NT 6.0 //  Windows Vista 
Windows NT 6.1 //  Windows 7
Windows NT 6.2 //  Windows 8
Windows NT 6.3 //  Windows 8.1
Windows NT 10.0 //  Windows 10
Win64; x64 // Win64 on x64
WOW64 // Win32 on x64

Linux系统下:

X11; Linux i686; // Linux,i686 版本
X11; Linux x86_64; // Linux,x86_64 版本
X11; Linux i686 on x86_64 // Linux, x86_64 的 i686 版本

macOS系统下:

Macintosh; Intel Mac OS X 10_9_0 // Intel x86 或者 x86_64
Macintosh; PPC Mac OS X 10_9_0 // PowerPC
Macintosh; Intel Mac OS X 10.12; // 不用下划线,用点

第三部分:引擎版本
通常默认为 AppleWebKit/537.36 (KHTML, like Gecko) ...Safari/537.36

第四部分:浏览器版本
这里使用的浏览器版本为:Edg/80.0.361.54

User-Agent字段详细解释:[HTTP请求头之User-Agent]

  • 30
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值