python——网络爬虫快速入门【基础知识篇】

1.3 爬虫的本质

爬虫的本质是通过技术,模拟浏览器(这里的浏览器指广义上的浏览器,一切用http协议传输的app都可以被视为浏览器)的客户端向服务器发起请求,并通过相关数据对相关数据进行提取。

原则上来说,只要是客户端可以请求到的数据,我们用爬虫也可以拿到。

2. 爬虫入门

2.1 爬虫的基本知识

  1. 了解爬虫分类
  2. 了解robots协议
  3. 掌握爬虫流程

1.爬虫分类

爬虫主要分为两大类:

  1. 通用爬虫:通常指的是我们的搜索引擎,如:百度、搜狗、谷歌 等
  2. 聚焦爬虫:针对特定网站的爬虫

2. robots协议

Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但它仅仅是互联网中的一般约定

robots协议是一个君子协议,它并不会限制开发者对网站进行数据爬取,PS: 爬虫有风险,爬取需谨慎!!!

3. 爬虫的流程

在这里插入图片描述

浏览器抓包基本知识

通过浏览器:鼠标右键检查,或者按F12进入浏览器控制台抓包

在这里插入图片描述

分析:

URL: URL(Uniform Resource Locator,统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址。

请求分析:

Request URL: https://www.baidu.com/s?ie=utf-8&fr=bks0000&wd=URL%E6%A0%BC 【请求的url】

Request Method: GET 【请求的方式 ,同类还有POST, PUT, DELETE 等】

Status Code: 200 【状态码 200表示请求成功,同类还有2xx 请求成功, 3xx 重定向跳转或迁移 ,4xx 客户端错误(常见404,403) ,5xx 服务器错误(常见501 、 502)】

Remote Address: 14.215.177.38:443 【目标主机IP】

image

在这里插入图片描述

在这里插入图片描述

爬虫流程总结

  1. 确定要爬取的url
  2. 发起请求
  3. 解析响应
  4. 提取数据
  5. 数据入库

爬虫的基本工作 就是模拟浏览器的这些功能,不同的是浏览器会自动进行解析,而爬虫需要们手动进行解析,而浏览器会对数据进行渲染,爬虫对数据进行提取保存。

2.2 HTTP和HTTPS

1. http和https的概念

  • HTTP
    • 超文本传输协议
    • 默认端口号:80
  • HTTPS
    • HTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协议
    • 默认端口号:443

HTTPS比HTTP更安全,但是性能更低

2. 我们是如何通过http或者http协议发起请求的

阿里四面试题:

在这里插入图片描述

3. http请求和获取响应的过程

  1. 浏览器先向地址栏中的url发起请求,并获取相应
  2. 在返回的响应内容(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
  3. 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应
  4. 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改————这个过程叫做浏览器的渲染
  • 注意: 这里必须要进行区分,网页源代码和网络请求返回来的响应是完全不相同的两回事

    网页源码 ≠ 响应

4.http请求结构分析

在这里插入图片描述

在浏览器headers中,点击view source来具体观察其中的请求行,请求头部和请求数据是什么样子的

5.常见的响应状态码

  • 200:成功
  • 302:临时转移至新的url
  • 307:临时转移至新的url
  • 404:找不到该页面
  • 500:服务器内部错误
  • 503:服务不可用,一般是被反爬

小结

  1. 记忆 http、https的概念和区别:

    • http: 超本文传输协议
    • https: HTTP + SSL,即带有安全套接字层的超本文传输协议
  2. 记忆 浏览器发送http请求的过程:

    • 浏览器先向地址栏中的url发起请求,并获取相应
    • 在返回的响应内容(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
    • 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应
    • 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改
  3. 记忆 http请求头的形式:

    GET /item/503/1227315?fr=aladdin HTTP/1.1
    Host: www.baidu.com
    ......
    
  4. 记忆 http响应头的形式 :

    HTTP/1.1 200 OK
    Connection: keep-alive
    ......
    
  5. 了解 http响应状态码

    • 200:成功
    • 302:临时转移至新的url
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pointer-faker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值