一、爬虫之基础
一、爬虫之基本原理
发起请求 获取响应内容 解析内容 保存数据 |
二、Request请求
2.1 请求方式
主要有GET/POST两种类型常用类型,另外还有HEAD/PUT/DELETE/OPTIONS
GET和POST的区别是:GET请求的数据放在url中,POST则在则是刚在头部
GET:指向的资源发出“显示”请求,使用GET的方法应该只用在读取数据;
POST:指向资源提交数据,请求服务器进行处理(提交表单或者上传文件),数据被包含在请求本文中;
HEAD:与GET方法一样,都是向服务器发出指定的资源请求,只不过服务器将不传回资源的本文部分,好处在于:使用这个方法可以在不必传输全部内容的情况下,就可以获取其中关键资源信息(元信息,元数据)
PUT:向指定资源位置上传其最新的内容
OPTIONS:这个方法可使服务器传回该资源支持的所有HTTP请求方法,用“*”来代替资源名称,向Web服务器发送OPTIONS请求,可以ice 是服务器功能是否正常运作;
DELETE:请求服务器删除Request-URI所标识的资源。
2.2 请求URL
URL,统一资源定位符,即网址
URL的格式由三部分组成
1.协议或者是服务方式
2.存有该资源的主机IP地址(+端口号)
3.该资源的具体地址,如接口名,目录,文件名等
2.3 请求头
包含请求的头部信息,如User-Agent,Host, Cookies
2.4 请求体
请求时携带的数据以及表单(POST)
三、Reponse响应
HTTP响应第一行都是状态行,接下来是HTTP版本号,状态码3位数,以及描述状态的短语,彼此有空格隔开
3.1 响应状态
有多种响应状态,200--成功,301--跳转,404--url错误,502,500--服务器错误
a.、1xx----请求已经被服务器接受,继续处理
b、2xx----请求已经被服务器处理,理解,且接收
c、3xx----重定向问题
d、4xx----请求含有语法错误
e、5xx----服务器端错误
常见的状态汇总:200 OK 请求成功, 400 Bad Request 客户端请求有url错误,不能被服务器所理解 ,401 Unauthorized 请求未经授权,403 Forbidden 服务器收到请求,但是拒绝提供服务 404 Not Found 请求资源不存在, 500 Internal Server Error 服务器发生不可预期的错误
3.2 响应头
内容类型,类型的长度,服务器信息,cookie
3.3 响应体
请求的资源内容,html,图片,二进制文件等
四、爬取数据及处理
4.1 爬取数据类型
网页文本:html,json格式化文本
图片:获取到二进制文件,转化为图片格式
视频:获取到二进制文件
4.2 解析数据
直接处理,json解析,正则处理,BeautifulSoup解析,PyQuery解析,XPath解析
4.3 保存数据
纯文本,xml,json等