端口 | 网络协议 | 网络模型 | HTTP响应
- 端口
- 国际规定的通信协议(TCP/IP),爬虫使用的协议为HTTP协议(超文本传输协议,端口80)
- 网络模型 osi数据模型
OSI参考模型
OSI参考模型 |
应用层 (对数据进行封装) |
表示层 |
会话层 |
传输层 (TCP协议) |
网络层 (IP协议) |
数据链路层 |
物理层 |
数据传输的过程
发送者(数据封包)--> 物理层(发送者) --> 物理层(接收者) -->接受者(数据解包)
TCP/IP参考模型
TCP/IP参考模型 |
应用层(http协议,https+SSL) |
传输层 |
网络层 |
主机至网络层 |
HTTP响应
HTTP请求到服务器的请求消息,包括以下格式:
请求⾏、请求头部、空⾏、请求数据
四个部分组成,下图给出了请求报⽂的⼀般格式。
爬虫概念
python做爬虫的优势
- PHP:对多线程 一步支持不太友好
- Java:代码量大,代码笨重
- C/C++:代码量大,难编写
- Python:支持模块多,代码简单,开发效率高(Scrapy框架)
爬虫分类
- 通用爬虫,如:baidu google
- 聚焦网络爬虫:根据既定的目标又选择的抓取某一特定主体内容
- 增量式网络爬虫:指对下载网页采取增量式的更新和只爬行新产生的或者已经发生变化的网页爬虫
- 深层网络爬虫:只那些大部分内容不能通过静态链接获取的,隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web页面。如 用户注册登录才能访问的页面
关键性概念
1.请求方式:
2.URL组成部分
协议 |
主机名 |
端口号 |
猫点 |
编码 |
https |
new.qq.com |
默认为80 |
#anchor 页面定位 |
在浏览器请求⼀个url,浏览器会对这个url进⾏⼀个编 |
3.User-Agent ⽤户代理
- 作⽤:记录⽤户的浏览器、操作系统等,为了让⽤户更好的获取HTML⻚⾯效果
4.Refer
- 表明当前这个请求是从哪个url过来的。⼀般情况下可以⽤来做反爬的技术
5.状态码
- 200 : 请求成功
- 301 : 永久重定向
- 302 : 临时重定向
- 403 : 服务器拒绝请求
- 404 : 请求失败(服务器⽆法根据客户端的请求找到资源(⽹⻚))
- 500 : 服务器内部请求
网友评论