IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Python网络爬虫(一) -> 正文阅读

[网络协议]Python网络爬虫(一)

爬虫概述:

1. 概念

模拟浏览器, 发送请求, 获取响应

模拟客户端(浏览器)发送网络请求,接收请求响应

2. 分类

  1. 根据被爬取网站的数量不同
    1. 通用爬虫(搜索引擎)
    2. 聚焦爬虫(有目标网站)

是否以获取数据为目的

  1. 功能性爬虫(投票)

  2. 数据增量爬虫(招聘信息收集)

  3. 根据url地址和对应的页面内容是否改变,数据增量爬虫又可分类

    1. url变,内容变
    2. url不变,内容变(更新)

3.作用

  1. 数据采集
  2. 软件测试
    1. selenium
  3. 12306抢票
  4. 网站上投票
  5. 网络安全
    1. 短信轰炸
    2. web漏洞扫描

4.流程

  1. url_list
  2. 发送请求,获取响应
  3. 解析响应
  4. 提取url(1) / (提取数据)保存数据

http协议:

1.http 和 https(HTTP+SSL)

2. 请求头与响应头:

  1. 请求头

    1. host : 域名
    2. Connection(链接类型) : 长链接
    3. Upgrade-Insecure-Requests : 升级为https请求
    4. User-agent : 用户代理,提供系统信息和浏览器信息
    5. Referer : 页面跳转处,防盗链(图片/视频)
    6. Cookie : 状态保持
  2. 响应头

    1. Set-Cookie : 对方服务器设置cookie到用户浏览器的缓存

Content-Type : 请求类型

常见响应状态码:

所有的状态码都不可信,一切以是否从抓包得到的响应中获取到数据为准

network 中抓包得到的源码才是判断依据,elements中的源码时渲染之后的源码,不能作为判断标准

  1. 200 成功
  2. 302 跳转,新的url在响应的Location头中给出
  3. 303 浏览器对POST请求进行重定向至新的url
  4. 307 浏览器对与GET的响应重定向至新的url
  5. 403 资源不可用;服务器理解客户请求,但拒绝处理它(没有权限)
  6. 404 找不到页面
  7. 500 服务器内部错误
  8. 503 服务器由于维护或负载过重未能应答6,在响应中可能会携带Retry-After响应头;有可能是因为爬虫频繁访问url, 是服务器忽视爬虫的请求返回503响应状态码

浏览器请求的过程:

1. 浏览器

? 发送所有请求,进行渲染

2. 爬虫

? 只发送指定请求,不会渲染

  1. 骨骼文件 : html静态文件
  2. 肌肉文件 : js / ajax请求
  3. 皮肤 : css / font / 图片

抓包过程:

根据发送请求的流程分别在骨骼/肌肉/皮肤响应中查找数据

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:35:11  更:2021-10-06 12:36:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/21 9:17:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码