今天我们来学爬虫,这个系列预计会出11期
爬虫原理:
------------------什么是爬虫?-----------------
请求网站并提取数据的自动化程序
------------------爬虫的分类 --------------------
通用网络爬虫(全网爬取,搜索引擎,爬行的范围和速度是巨大的,但速度慢,有用和无用的数据需要很多的存储空间,而且需要很多只爬虫一起爬)聚焦网络爬虫(我们平时要写的爬虫,有选择性的去爬取,不会获取无用的数据)-------什么是requests和response?-------
他们两个也叫HTTP requests和HTTP response
(1)浏览器发送消息给某个网址所在的服务器,这个过程就叫做HTTP requests
比如你在上方的网址区输入网址,它就会给该网址所在的服务区发送HTTP Requests
(2)服务器收到浏览器发送的消息后,能够根据浏览器发送消息的内容,做相应处理,然后把消息回传给浏览器。这个过程叫做HTTP Response.
比如你写出了某个网址,浏览器把请求上传到了那个网址的服务器中,服务器会传回给你一些HTML的代码,就构造了你想看到的网页
(3)浏览器收到服务器的Response信息后, 会对信息进行相应处理,然后展示
------------Requests中包含什么?-------------
请求方式
GET:单纯地从服务器里提取数据,请求的时候不带任何数据和参数。
POST:发送的请求当中携带一些数据,就像登陆,你需要填账号密码。
请求URL
在发出的请求中,总会包含URL,这样才能知道请求到哪个服务器去,服务器也会根据你发的URL来给你提供相应的服务。
请求头
User-Agent:用来标识请求是从哪里来的,如果是从浏览器发起的请求,User-Agent会标示浏览器的信息。如果是爬虫发起的请求,User-Agent会标识编程语言的名字。
Host:主机
Cookies:用来存储用户的信息,比如你登录就会存储登录的信息。下次要是再去请求目标网址,由于你cookies里已经有登录的信息,就不用再去登陆。
请求体
存储发出请求时需要额外携带的数据。因为他是存储携带数据,所以当get请求的时候,请求体是空的。
------------Response中包含什么?------------
响应状态
200代表成功
301代表网址被移到其他地,要跳转
404代表找不到页面
502代表服务器错误
当我们向服务器发起请求的时候,第一件事就是要判断响应状态
响应头
它里面有内容类型,内容长度,还会帮我们设置cookie值
响应体
我们向网址发起请求时,希望得到网址背后的数据,就是包含在响应体当中。
有HTML的框架呀,有图片呀,或者还有视频。
例子:
一般来说每个浏览器都会有一些检查工具,就比如我是chrome浏览器,只要在你想要检查的页面右键就可以了。
Elements选项卡
Elements选项卡里面包含的是此网页的HTML代码文档右边跟着的styles是它的样式表。我们看到的那些网页都是HTML代码结合它的样式表呈现出来的。不懂也没关系,待会儿会讲
如果我想知道某个数据存在的位置,选项卡的左上角就会出现这样一个标志。
点开它,你的鼠标指到哪里,那里的代码就会显现给你