python header是啥_Python爬虫之Header
HTTP “请求头信息”Request Header是向服务端提供客户端的信息,“响应头信息”Response Header是服务端向客户端提供请求文档信息或服务器的状态信息,服务端判断服务端的身份,就是通过Header来判断的,所以爬虫通过设置Header来隐藏自己相当重要。
HTTP请求
一个完整的HTTP请求包含以下部分:
请求方法 URL HTTP版本
请求头信息
请求数据
常见的请求头:
Accept:客户端接收的数据类型,如:Accept:text/html
User Agent:客户端软件类型
Authorization:认证消息,包括用户名和口令
Referer:用户获取的Web页面
真实的请求头信息会更多,下面是豆瓣某短评的真实请求头:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7
Cache-Control: max-age=0
Connection: keep-alive
Cookie: douban-fav-remind=1; _vwo_uuid_v2=DA9D8506AF55689A98FC4EC5458A1F005|9e3e2c5da18b4341ef7c7c5b1e6bc17d; __utmv=30149280.19413; douban-profile-remind=1; ll="118281"; __gads=ID=84d32737c7eb0e14:T=1564540928:S=ALNI_MYeYoLNcsUs74D0ASArxlCoDpjBIA; viewed="24872560"; bid=SdT44rmbqnQ; __utmz=223695111.1572102190.1.1.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __yadk_uid=FTuDNkSGj6E7mIoNRiLhR0HOeQGlFstY; push_noty_num=0; push_doumail_num=0; __utmz=30149280.1572351033.43.22.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/people/194130217/; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1576563221%2C%22https%3A%2F%2Fwww.douban.com%2F%22%5D; _pk_id.100001.4cf6=c746db049db29d28.1572102190.8.1576563221.1574420366.; _pk_ses.100001.4cf6=*; __utma=30149280.1363678983.1539603396.1574420366.1576563222.48; __utmb=30149280.0.10.1576563222; __utmc=30149280; __utma=223695111.1512084094.1572102190.1574420367.1576563222.8; __utmb=223695111.0.10.1576563222; __utmc=223695111
Host: movie.douban.com
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
HTTP响应
一个完整的HTTP响应包含以下部分:
状态行
响应头
响应数据
常见的状态行:
响应码
说明
请求成功
20x
200
OK,请求成功
201
OK,建立新的资源(POST)
202
请求被接受,但处理未完成
204
OK,但没有内容返回
重定向
30x
301
所请求的资源已被指派为新的固定URL
302
所请求的资源临时位于另外的URL
304
文档没有修改(GET)
客户差错
40x
400
错误的请求
401
未被授权
403
不明原因的禁止
404
没有找到
服务器差错
50x
500
内部服务器差错
501
没有实现
502
错误的网关,网关或上游服务器来的无效响应
503
服务器暂时失效
更多状态码查看: HTTP状态码
常见的响应头:
Server:Web服务器程序的信息
Date:当前服务器的日期和时间
Last Modified:请求文档最近一次修改的时间
Expires:请求文档过期时间
Content-length:数据长度(字节)
Content-type:数据MIME类型
WWW-authenticate:用于通知客户方需要的认证信息,如用户名,口令等
下面是豆瓣某短评的真实响应头:
Cache-Control: must-revalidate, no-cache, private
Connection: keep-alive
Content-Encoding: br
Content-Type: text/html; charset=utf-8
Date: Tue, 17 Dec 2019 06:13:57 GMT
Expires: Sun, 1 Jan 2006 01:00:00 GMT
Keep-Alive: timeout=30
Pragma: no-cache
Server: dae
Transfer-Encoding: chunked
Vary: Accept-Encoding
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-DAE-App: movie
X-DAE-Instance: default
X-Douban-Mobileapp: 0
X-Xss-Protection: 1; mode=block
Requests设置Header
Python使用Requests来请求的时候,如果没有设置Header,Header是空的,设置Header的方法如下:
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/41.0.2227.1 Safari/537.36',
'Cache-Control': 'max-age=0',
'Cookie': 'douban-fav-remind=1; _vwo_uuid_v2=DA9D8506AF55689A98FC4EC5458A1F005|9e3e2c5da18b4341ef7c7c5b1e6b'
'c17d; __'
'utmv=30149280.19413; douban-profile-remind=1; ll="118281"; __gads=ID=84d32737c7eb0e14:T=15645409'
'28:S=ALNI_MYeYoLNcsUs74D0ASArxlCoDpjBIA; viewed="24872560"; bid=SdT44rmbqnQ; __utmz=223695111.15'
'72102190.1.1.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/; __yadk_uid=FTuDNkSGj6'
'E7mIoNRiLhR0HOeQGlFstY; dbcl2="194130217:uUZw2E9T6DY"; push_noty_num=0; push_doumail_num=0; __'
'utmz=30149280.1572351033.43.22.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct='
'/people/194130217/; ck=rIT_; ap_v=0,6.0; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1574385397%2C%'
'22https%'
'3A%2F%2Fwww.douban.com%2F%22%5D; _pk_ses.100001.4cf6=*; __utma=30149280.1363678983.1539603396.15'
'72478349.1574385398.46; __utmb=30149280.0.10.1574385398; __utmc=30149280; __utma=223695111.15120'
'84094.1572102190.1572478349.1574385398.6; __utmb=223695111.0.10.1574385398; __utmc=223695111; _'
'pk_id.100001.4cf6=c746db049db29d28.1572102190.6.1574385406.1572478372.',
}
# 设置请求超时时间,header
r = requests.get(url, timeout=20, headers=headers)
python header是啥_Python爬虫之Header相关推荐
- python head 函数_python爬虫中header是什么?怎么用?
我们查找网页的时候,点击进去就是一个完整的查看过程.当我们想要获取网页数据的时候,就要跟这种浏览过程一样,不然网页会把我们阻拦在外面.我们今天所要讲的python爬虫header就是帮助我们完成这样浏 ...
- python request headers获取_Python爬虫实战—— Request对象之header伪装策略
在header当中,我们经常会添加两个参数--cookie 和 User-Agent,来模拟浏览器登录,以此提高绕过后台服务器反爬策略的可能性. User-Agent获取 User-Agent可通过随 ...
- python requests的作用_Python爬虫第一课:requests的使用
requests模块的入门使用 注意是requests不是request. 1.为什么使用requests模块,而不是用python自带的urllib requests的底层实现就是urllib re ...
- python 爬视频下载_Python爬虫进阶之爬取某视频并下载的实现
这篇文章我们来讲一下在网站建设中,Python爬虫进阶之爬取某视频并下载的实现.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 这几天在家闲得无聊,意外的挖掘到了一个资源网站 ...
- python成绩查询系统_Python爬虫实战:登录教务系统查成绩
本文记录我用Python登录教务系统查询成绩的过程.手动输入验证码,简单获取成绩页面.后续将可能更新自动识别验证码登录查询 前期准备 本爬虫用到了Python的Requests库和BeautifulS ...
- python requests下载网页_python爬虫 requests-html的使用
一 介绍 Python上有一个非常著名的HTTP库--requests,相信大家都听说过,用过的人都说非常爽!现在requests库的作者又发布了一个新库,叫做requests-html,看名字也能猜 ...
- python下载电影天堂_Python爬虫初学:爬取电影天堂数据
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于IT共享之家,作者:IT共享者 [一.项目背景] 相信大家都有一种头疼的体验,要下载 ...
- python提前查成绩_Python爬虫案例——正方教务学生成绩获取(自动识别验证码)...
刚刚进入假期,学校开放了期末成绩查询,奈何正方教务的各种卡顿.很多学弟学妹问有没有好办法能够解决,闲来无事写了一段自动获取的爬虫程序练练手. 环境Python3.7 Jupyter 主要库reques ...
- python网页抓包_python爬虫入门01:教你在 Chrome 浏览器轻松抓包
通过 我们知道了什么是爬虫 也知道了爬虫的具体流程 那么在我们要对某个网站进行爬取的时候 要对其数据进行分析 就要知道应该怎么请求 就要知道获取的数据是什么样的 所以我们要学会怎么抓咪咪! 哦,不对. ...
- python网页结构分析图_Python爬虫解析网页的4种方式 值得收藏
用Python写爬虫工具在现在是一种司空见惯的事情,每个人都希望能够写一段程序去互联网上扒一点资料下来,用于数据分析或者干点别的事情. 我们知道,爬虫的原理无非是把目标网址的内容下载下来存储到内存中, ...
最新文章
- 一堆让人惊喜的实用工具,也许你还不知道
- mysql表结构说明只能为1 8_SQL基础
- silverlight中的socket编程注意事项
- VS2019 配色_NBA球员上脚:基德穿AJ13湖人配色,莫兰特的保罗乔治4代!
- Hyperledger Fabric1.0架构概览
- MySQL排序ORDER BY与分页LIMIT,SQL,减少数据表的网络传输量,完整详细可收藏
- Linux Shell高级技巧(三)
- 【服务端渲染】NuxtJS基础
- java工程师_南通JAVA软件工程师暑假强化实训学校
- 火狐浏览器 模拟人工重复操作_火狐浏览器下载手机版-火狐浏览器下载安装到手机v68.6.0...
- Ubuntu下安装LAMP及phpmyadmin
- mysql存储过程的学习(mysql提高执行效率之进阶过程)
- DP算法——打家劫舍系列
- 迅雷x导入未完成任务失败的解决办法。
- cesium 矢量图 编辑_openlayers添加、删除矢量图,多边形
- 2017NOIp模拟赛08.20
- DateTime转为特定时区时间
- java net包 网关_Net分布式系统之六:微服务之API网关
- 【基础知识】HTML5 Canvas小项目时钟的简单实现(图文、演示)
- 网站dns服务器不能用,Win7网络诊断“DNS服务器可能不可用”怎么解决?
热门文章
- 解析Linux商业应用现状
- 计算机随机数字excel,excel怎么生成随机数字 excel随机数字区间怎么设定
- DLL加载: Debug版本正常加载,Release版本LoadLibrary加载失败,返回错误126
- Python制作微信小助手
- clk_get_rate函数
- Green Screen Wizard Pro(绿幕摄影软件)官方正式版V12.1 | 绿屏拍摄有什么软件?
- ARP 项添加失败: 请求的操作需要提升
- Go 每日一库之 go-flags
- Magento给Newsletter Subscribers添加状态选项(默认只有Not Activated,Subscribed,Unsubscribed,Unconfirmed)
- 感恩节(Thanksgiving Day)