爬虫来介绍ChromeF12 谷歌开发者工具 -Network

news2024/12/22 23:49:46

了解网页基础(HTML、CSS、JavaScript)

了解HTTP基本原理

了解JSON格式

了解Ajax请求

了解爬虫基本原理

(一)、Chrome开发者工具面板概述

 

Elements

查找网页源代码HTML中的任一元素,手动修改任一元素的属性和样式且能实时在浏览器里面得到反馈。

 

比如我们在Event Listeners中的mousedown中,点击document,然后点击出现的remove,就可以移除鼠标控制了,就可以开个小窗,去听别的课了,这样并不会被发现,因为我们并没有通过向外发送任何数据。

Console

记录开发者开发过程中的日志信息,且可以作为与JS进行交互的命令行Shell,还可以当作JavascriptAPI查看,比如我想查看console都有哪些方法和属性,则可以直接在Console中输入”console”并执行。

Sources

断点调试JS以及查看网页源代码。

Network:

从发起网页页面请求Request后分析HTTP请求后得到的各个请求资源信息(包括状态、资源类型、大小、所用时间等),可以根据这个进行网络性能优化,关键是它对构建爬虫的请求至关重要!!!

Timeline:

记录并分析在网站的生命周期内所发生的各类事件,以此可以提高网页的运行时间的性能。

(Memory)Profiles:

如果你需要Timeline所能提供的更多信息时,可以尝试一下Profiles,比如记录JS CPU执行时间细节、显示JS对象和相关的DOM节点的内存消耗、记录内存的分配细节。

Application:

记录网站加载的所有资源信息,包括存储数据(Local Storage、Session Storage、IndexedDB、Web SQL、Cookies)、缓存数据、字体、图片、脚本、样式表等。

Security:

判断当前网页是否安全。

Audits:

对当前网页进行网络利用情况、网页性能方面的诊断,并给出一些优化建议。比如列出所有没有用到的CSS文件等

Adblock:

广告拦截

(二)、详细介绍Network

概述

在爬虫中,我们用解析库(requests或者urllib,但不限于此两种)构造一个requests请求并且向网站所在的服务器发送,网站服务器收到这个请求后进行处理和解析,然后返回对应的响应。

而Network面板可以记录页面上的网络请求和所获得的响应的详情信息,包括请求头中的Cookie、User-Agent,状态码,以及响应的类型,且如果有的网页使用异步加载数据的方式时,我们可以通过发送Ajax来获取数据(我将介绍这两种获取方式)。

介绍

 

标记【1】窗格

从写有标记【1】的窗格从左往右介绍

  1. 第一个红色记录按钮, 处于打开状态时会在此面板进行网络连接的信息记录,关闭后则不会记录
  2. 清除按钮,清除当前的网络连接记录信息,(点击一下就能清空)
  3. 过滤器, 能够自定义筛选条件,找到自己想要资源信息,如下图所示

 

4.Preserve log表示是否保留日志,当选择保留日志,重新加载url当前界面时,之前请求显示资源信息,会被保留下来。

5.Disable cachez是否进行缓存,开发者工具生效,打开这个开关,则页面资源不会存入缓存,可以从下面的requests table窗格的initiator栏中中看资源从哪来的,其中会显示从fron cache。

6.Offine Oline设置模拟限速,设置限速可以模拟处于各种网络环境下的不同用户访问本页面的的情况。

标记【2】窗格

这个其实一栏筛选栏,

比如XHR可以筛选出所有Ajax请求,DOC是网页的源代码,CSS装有整个网页样式规则(比如网页中文字大小,颜色等),而javascript装有一些交互式效果,比如下载进条度,提示框等。

一起介绍标记【3】和【4】和【5】窗格了

如果我们不勾选任何一个,它是这样的:

 如果我们勾选第一,会发现requests table那的每一条记录都被加宽了!!!

 如果我们勾选Show overview那一栏,会发现

 

显示时间流,可根据时间查看对应时间下浏览器请求的资源信息。

如果我们勾选Capture一栏,

 

它表示捕获屏幕,点击摄像机按钮(捕获屏幕),重新加载页面即可捕获屏幕。

双击其中的截屏可以放大显示,在放大的图下方可以点击跳转到上一帧或者下一帧。

单击则可以查看该帧被捕获时的网络请求信息,并且在Overview上会有一条黄色竖线以标记该帧被捕获的具体时间点。

标记【7】窗格

DOMContentLoadedload高亮显示。

DOMContentLoaded事件会在页面上DOM完全加载并解析完毕之后触发,不会等待CSS、图片、子框架加载完成。

load事件会在页面上所有DOM、CSS、JS、图片完全加载完毕之后触发。

DOMContentLoaded事件在Overview上用一条蓝色竖线标记,

load事件同样会在show Overview和Requests Table上用一条红色竖线标记,

 

标记【6】窗格(着重介绍!!!)

  1. Name/Pat:资源名称以及URL路径 (main.css)

点击名称可以查看资源的详情情况,包括HeadersPreviewResponseCookiesTiming,如图:

 重点介绍下Headers中的requests headers

 requests headers中的每个参数都会被介绍。

出自用两个简单爬虫来介绍ChromeF12 谷歌开发者工具 -Network - 知乎 (zhihu.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/849310.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UML-A 卷-知识考卷

UML-A 卷-知识考卷 UML有多少种图,请列出每种图的名字: 常用的几种UML图: 类图(Class Diagram):类图是描述类、接口、关联关系和继承关系的图形化表示。它展示了系统中各个类之间的静态结构和关系。时序…

WEB集群——负载均衡集群

目录 一、 LVS-DR 群集。 1、LVS-DR工作原理 2、LVS-DR模式的特点 3、部署LVS-DR集群 3.1 配置负载调度器(192.168.186.100) 3.2 第一台web节点服务器(192.168.186.103) 3.3 第二台web节点服务器(192.168.186.…

高温老化房软件使用教程

高温老化炉软件通常具有以下几个模块: 1. 参数设置模块:该模块用于设置高温老化炉的相关参数,包括温度、时间、压力等。用户可以通过输入框、滑动条或下拉菜单等方式设定参数,并将参数发送给高温老化炉。 2. 监控模块:…

认识http的方法、Header、状态码以及简单实现一个http的业务逻辑

文章目录 http的方法http状态码http重定向http常见Header实现简单业务逻辑Protocol.hppUtil.hppServer.hppServer.cc 效果 http的方法 方法说明支持的HTTP版本GET获取资源1.0/1.1POST传输实体主体1.0/1.1PUT传输文件1.0/1.1HEAD获得报文首部1.0/1.1DELETE删除文件1.0/1.1OPTIO…

Centos7.6安装mysql8.0.20

安装前 1.安装mysql前,需将系统自带的mariadb卸载。 [rootk8s01 ~]#  rpm ‐qa|grep mariadbmariadb‐libs.x86_643[rootk8s01 ~]#  rpm ‐e ‐‐nodeps mariadb‐libs.x86_643[rootk8s01 ~]#  rpm ‐qa|grep mariadb 2. 下载mysql8.0.20 [rootk8s-01…

【王树森】深度强化学习(DRL)课程笔记:P1 基本概念(含gym安装)

课程信息 课程主讲:王树森(史蒂文斯理工学院计算机科学系的终身制助理教授) 课程内容:基本概念、价值学习、策略学习、Actor-Critic方法、AlphaGo、Monte Carlo (蒙特卡洛) 课程资料:https://github.com/wangshusen/D…

【MATLAB第66期】#源码分享 | 基于MATLAB的PAWN全局敏感性分析模型(有条件参数和无条件参数)

【MATLAB第66期】#源码分享 | 基于MATLAB的PAWN全局敏感性分析模型(有条件参数和无条件参数) 文献参考 Pianosi, F., Wagener, T., 2015. A simple and efficient method for global sensitivity analysis based on cumulative distribution functions.…

python多线程及协程

目录 进程和线程 串行和并行 多线程编程 Thread类 创建线程参数 具体案例 继承Thread类 具体案例 线程池 具体案例 协程 协程的使用 协程函数写法 调用多个协程函数 main函数的写法 案例 进程和线程 进程:就是一个程序,运行在系统之上…

[每日习题]年终奖(动态规划) 迷宫问题(DFS+回溯)——牛客习题

hello,大家好,这里是bang___bang_,本篇记录2道牛客习题,年终奖(简单),迷宫问题(中等),如有需要,希望能有所帮助! 目录 1️⃣年终奖 2️⃣迷宫问…

Linux学习-1

Linux学习-1 1.文件系统的常识 本文主要引用鸟哥的Linux私房菜 1.1 常见的标识介绍 > [-][rwx][r-x][r--] > 1 234 567 890 1 为:代表这个文件名为目录或文件,本例中为文件(-); 234为:拥有者的权限…

MongoDB数据库操作及操作命令

目录 一、基础概念 二、安装mongod 三、命令交互数据库 (1)数据库命令 (2)集合命令 (3)文档命令 四、Mongoose (1)增加一条数据 (2)插入多个数据 &am…

React实现关键字高亮

先看效果&#xff1a; 实现很简单通过以下这个函数&#xff1a; highLight (text, keyword ) > {return text.split(keyword).flatMap(str > [<span style{{ color: red, fontWeight: bold }}>{keyword}</span>, str]).slice(1);}展示某段文本时调用该函数…

【从零开始学习JAVA | 第四十二篇】初学网络编程

目录 前言&#xff1a; 什么是网络编程&#xff1a; 网络编程的应用场景&#xff1a; 常见的软件架构&#xff1a; CS架构&#xff1a; BS架构&#xff1a; 网络编程三要素&#xff1a;​ 总结&#xff1a; 前言&#xff1a; 当今互联网已经渗透到我们日常生活的方方面…

【MongoDB】万字长文,命令与代码一一对应SpringBoot整合MongoDB之MongoTemplate

目录 一、导入依赖与配置信息 二、导入测试数据创建实体类 三、插入数据 1、Insert默认集合插入 2、Insert指定集合插入 3、Insert批量插入数据 4、save默认集合插入 5、save指定集合插入 6、insert与save的区别 四、修改数据 1、修改符合条件的第一条数据 2、全…

单例模式-java实现

介绍 单例模式的意图&#xff1a;保证某个类在系统中有且仅有一个实例。 我们可以看到下面的类图&#xff1a;一般的单例的实现&#xff0c;是属性中保持着一个自己的私有静态实例引用&#xff0c;还有一个私有的构造方法&#xff0c;然后再开放一个静态的获取实例的方法给外界…

golang内存对齐

为什么要内存对齐&#xff1f; CPU访问内存时&#xff0c;以CPU的位数为单位进行访问。 如果访问未对齐的内存&#xff0c;处理器需要做两次内存访问&#xff0c;对齐的内存的访问可能仅需要一次&#xff0c;利用内存对齐后提升读取速度。 golang结构体内存对齐规则 在代码编译…

MySql学习3:常用函数

常用字符串函数 CHAR_LENGTH(s)&#xff1a;返回字符串的长度 select *, char_length(name) as nameLength from emp;CONCAT(s1,s2…sn)&#xff1a;字符串拼接 select name,concat(name,入职时间&#xff1a;,entrydata) as 入职时间 from emp;CONCAT_WS(x, s1,s2…sn)&a…

24v转3.3v输出3A用什么芯片

问&#xff1a;客户需要一个能够将24V输入电压转换为3.3V输出电压&#xff0c;并且能够提供1-3A的电流输出的芯片。还希望它能够内置MOS管。有什么推荐的型号吗&#xff1f;&#xff08;vin24v、5v&#xff0c;vout3.3v&#xff0c;Io1-3A&#xff09; 答&#xff1a;推荐使用…

Unity游戏源码分享-塔防游戏保卫兔子的食物CarrotFantasy

Unity游戏源码分享-塔防游戏保卫兔子的食物CarrotFantasy 经典塔防游戏&#xff0c;可发布PC、Andoid、IOS、Web等 下载地址&#xff1a;https://download.csdn.net/download/Highning0007/88189987

【Spring Boot】Thymeleaf模板引擎 — Thymeleaf页面布局

Thymeleaf页面布局 熟悉Thymeleaf的语法和表达式后&#xff0c;后面开发起来会更加得心应手。接下来好好研究一下Thymeleaf如何实现完整的Web系统页面布局。 1.引入代码片段 在模板中经常希望包含来自其他模板页面的内容&#xff0c;如页脚、页眉、菜单等。为了做到这一点&a…