1 爬虫初步
网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(主要指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
2 请求头和响应头
2.1 常见请求头解析
下面尝试访问百度首页
-
Host :用于指定被请求资源的Internet主机和端口号
-
Connection (连接类型)
- 关闭TCP连接
- 长连接(Keep-alive),默认情况
-
Upgrade-Insecure-Requests (升级为HTTPS请求):下面补充http与https的区别
-
??User-Agent (用户代理):标识请求的浏览器身份的,网站常用这个参数来分辨爬虫,详见相关链接
-
??Referer (页面跳转处):referer的作用就是记录你在访问一个目标网站时,在访问前你的原网站的地址,详见相关链接
-
??Cookie (Cookie):
2.2 常见响应头解析
用浏览器访问百度得到响应头信息
- Content-Type:响应的信息类型和字符集
- Content-Length:响应的内容长度
- Connection:和Request中响应头信息的Connection是一样
- Date(标识响应产生的时间)
- ??Set-Cookie:对方服务器设置cookie到用户浏览器的缓存
1 常见状态码(Status Code)
- 200:成功
- 302:跳转,新的url在响应的Location头中给出
- 303:浏览器对于POST的响应进行重定向至新的url
- 307:浏览器对于GET的响应重定向至新的url
- 403:资源不可用;服务器理解客户的请求,但拒绝处理它(没有权限)
- 404:找不到该页面
- 500:服务器内部错误
- 503:服务器由于维护或者负载过重未能应答,在响应中可能可能会携带Retry-After响应头;有可能是因为爬虫频繁访问url,使服务器忽视爬虫的请求,最终返回503响应状态码
2 http与https的区别
- HTTP:超文本传输协议,默认端口号是80
- 超文本:是指超过文本,不仅限于文本;还包括图片、音频、视频等文件
- 传输协议:是指使用共用约定的固定格式来传递转换成字符串的超文本内容
- HTTPS:HTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协,默认端口号:443
- SSL对传输的内容(超文本,也就是请求体或响应体)进行加密
相关链接:
1.http报文详解 - klguang - 博客园 (cnblogs.com)
2. Python爬虫——Web基础_u010651137的博客-CSDN博客
3. 爬虫中的User-Agent和IP代理_南方有乔木的博客-CSDN博客
4. 爬虫反爬-关于headers(UA、referer、cookies)的一些有趣反爬_hu77700021的博客-CSDN博客
5. 关于网页referer以及破解referer反爬虫的办法_python_neophyte的博客-CSDN博客
6. python爬虫使用Cookie的两种方法_写IT博客的我,读math博客的你-CSDN博客_爬虫cookie
7. 看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了_程序员cxuan的个人主页-CSDN博客
8. 会话技术之Cookie详解_丹丹的后花园-CSDN博客
9. Python 爬虫 Request(请求头)和Response(响应头)的 内容详解 【爬虫资料二】_二十四桥明月夜-CSDN博客_python response响应头