爬虫获取的数据样式。
日常浏览的网页中,既有图片、文字,还有精致的排版,这些页面是怎样展示出来的呢?–––––––
其实,这都依靠源代码的功劳,源代码会定义每个标题、段落、图片等排版,浏览器通过解析源代码,呈现出网页画面。
所以,爬虫获取的就是浏览器解析之前的源代码,也就是图中框选的内容。
那么爬虫能做什么呢?
例如,阿岩想要通过某宝评论信息分析出《榴莲味口香糖》值不值得买,首先会打开网页,然后找到评论信息,再一条一条的翻看。
那么对于网络爬虫来说,它能够自动化获取《榴莲味口香糖》网页的所有信息,通过提取网页中的评论内容,将信息保存到文档中,便于对数据进行查看和分。所以,网络爬虫就是自动化从网页上获取信息、提取信息和保存信息的过程。
通常,我们访问网页是通过链接来完成
主机名
上面提到的不同点就是主机名(hostname),主机名就是我们要访问的计算机的名字。
np.baicizhan.com是夜曲首页URL中的主机名。
www.baicizhan.com是百词斩首页URL中的主机名。
所以,两个URL中主机名不同,访问的网页也不同。
我们访问的网页资源是存储在服务器中的。
服务器可用于管理资源并为用户提供服务,其特点就是运算速度快,能为大量用户服务。
服务器的种类有很多,当浏览网页时其主要作用就是将网页信息提供给浏览器,此时的服务器也被称为Web服务器。
HTTP协议
HyperText Transfer Protocol,简称http,超文本传输协议。
HTTP协议是互联网数据传输的一种规则,它规定了数据的传输方式。
小结:HTTPS的安全性比HTTP更高
HTTP协议在进行数据传输时,内容是未加密的,传输内容可能被窃听或篡改,安全性比较差。 HTTPS在传输之前加了一层保护,让内容安全不易被窃听,HTTPS协议是HTTP的安全版。
总结URL知识点:
1. HTTP的作用与快递公司类似
2. 主机名是计算机的名字
3. 帮助服务器管理资源
4. 文件路径能够指定访问资源的具体地址
消息请求和消息响应
HTTP发送的请求(Request)消息主要包含两部分“对什么”和“怎么做”。
1. “对什么”是我们前面学习的URL,就是要访问的目标。
2. “怎么做”一般叫做方法,是指让Web服务器完成什么工作。
由于浏览器发送请求时,将“对什么”和“做什么”信息放在头部。所以,存放这些信息的地方又叫请求头(Request Headers)。
请求头:对什么(地址)
做什么(要求)
在HTTP协议中:Web服务器收到请求消息后,会根据请求进行处理。并将响应(Response)消息返回给浏览器。
响应消息的头部叫做响应头(Response Headers),响应头中的数据用于告诉浏览器此次请求执行失败还是成功。
Web服务器收到请求消息后,会根据请求进行处理。将执行结果和数据放到响应(Response)消息中返回给浏览器。
状态码
定义
响应头(Response Headers)中用于告知浏览器执行结果成功或失败的叫做状态码。
状态码是由3位的数字构成的,主要用于告知客户端的HTTP请求的执行结果。
状态码可以让我们了解到服务器是正常执行结果,还是出现了错误。
备注:状态码数量很多,不需要去特别记忆,用到时搜索即可。
日常访问网页时,也会遇见状态码:404。
404(Not Found)表示服务器无法找到请求的资源,或者,有的服务器拒绝你的请求并不想说明理由时也会提示404。
或者,有时候打开网页时会提示状态码503。
状态码503(Service Unavailable)表示服务器处于超负荷状态或正在进行停机维护,现在无法处理浏览器的请求。
响应头中有状态码,用于告诉浏览器此次请求的执行结果。
请求方法在请求头中,浏览器发送HTTP请求时,要告诉服务器此次请求的方法类型。
在作者眼中:
响应头:回信 请求头:寄信
常见的状态码
爬虫能够帮助我们自动化的获取网页信息,但是,网络资源也会带来很多问题。
1. 影响服务器性能,爬虫主要请求服务器的资源,大量快速的访问服务器,会影响服务器速度,耗费服务器性能。
2. 法律风险,图片、视频或摄影作品等大部分是有版权的,将抓取的内容商业化也可能带来风险。
网络资源虽然非常丰富,但我们在使用爬虫获取网络资源时,需要遵循网络的基本规则--例如:robots协议。
这个协议一方面是一个爬虫技术人员需要遵守的道德准则。
另一方面,如果将爬取结果商用并获取利益,还会面临法律风险。
*****Robots协议*******
以上是作者在夜曲的所学,希望能与大家进步!!!