【基础】【Python网络爬虫】【3.chrome 开发者工具】(详细笔记)

Python网络爬虫基础

  • chrome 开发者工具
    • 元素面板(Elements)
    • 控制台面板(Console)
    • 资源面板(Source)
    • 网络面板(Network)
      • 工具栏
      • Requests Table详情

chrome 开发者工具

​ 当我们爬取不同的网站是,每个网站页面的实现方式各不相同,我们需要对每个网站都进行分析。那是否有一些通用的分析方法?我分享下自己爬取分析的“套路”。在某个网站上,分析页面以及抓取数据,我用得最多的工具是 Chrome 开发者工具

	Chrome 开发者工具是一套内置于 Google Chrome 中的 Web 开发和调试工具,可用来对网站进行迭代、调试和分析。因为国内很多浏览器内核都是基于 Chrome 内核,所以国产浏览器也带有这个功能。例如:UC 浏览器、QQ 浏览器、360 浏览器等。

接下来,我们来看看 Chrome 开发者工具一些比较牛逼的功能。

元素面板(Elements)

​ 通过元素(Element)面板,我们能查看到想抓取页面渲染内容所在的标签、使用什么 CSS 属性(例如:class=“middle”)等内容。例如我想要抓取我知乎主页中的动态标题,在网页页面所在处上右击鼠标,选择“检查”,可进入 Chrome 开发者工具的元素面板。
在这里插入图片描述
通过这种方法,我们能快速定位出页面某个 DOM 节点,然后可以提取出相关的解析语句。鼠标移动到节点,然后右击鼠标,选择 “Copy”,能快速复制出 Xpath 、CSS selector 等内容解析库的解析语句。
在这里插入图片描述

控制台面板(Console)

控制台面板(Console)是用于显示JS和DOM对象信息的单独窗口。
在这里插入图片描述

资源面板(Source)

在资源面板(Source)页面可以查看到当前网页的所有源文件。

  • 在左侧栏中可以看到源文件以树结构进行展示。
  • 在中间栏这个地方使用来调试js代码的地方。
  • 右侧是断点调试功能区。
  • js解密会用到资源面板的功能
    在这里插入图片描述

网络面板(Network)

网络(Network)面板记录页面上每个网络操作的相关信息,包括详细的耗时数据、HTTP 请求与响应标头和 Cookie,等等。这就是我们通常说的抓包。
在这里插入图片描述

工具栏

在这里插入图片描述
Stop recording network log:默认情况下,只要开发者工具在开启状态,会记录所有的网络请求,当然,记录都是在Network 面板展示的。红色表示开启,灰色表示关闭。

Clear :清空所有数据,每一次重新分析是都需要清空之前的数据。

Filter:数据包过滤器。红色表示打开,蓝色表示关闭。经常来使用它来过滤出一些 HTTP 请求,例如过滤出使用 Ajax 发起的异步请求、图片、视频等。

  • Filter搜索框 :根据地址过滤,比如 :baidu.com,就只会过滤数据包地址中包含 baidu.com 的数据包。
  • Invert :Filter搜索框中取反过滤,比如:baidu.com,会过滤数据包地址中不包含 baidu.com的数据包。
  • Hide data URLs :用于是否隐藏 dataurl,那么什么是 dataurl 呢?传统的通常 img 标记的src属性指定了一个远程服务器的资源,浏览器针对每个外部资源需要向服务器发送一次拉取资源请求。而Data URL技术是图片数据以base64字符串格式嵌入到了页面中,和HTML融为一体。
  • all:所有请求数据(图片、视频、音频、js代码、css代码* )
  • XHR:XMLHttpRequest 的缩写,是ajax技术的核心,动态加载完成经常分析的一个内容
  • CSS: css样式文件
  • JS:JavaScript文件,是js解密常分析的一个页面
  • Img:Images 图片文件
  • Font: 字体文件(字体反扒)
  • DOC : Document,文档内容
  • WS: WebSocket,web端的socket数据通信,一般用于一些实时更新的数据
  • Wasm:WebAssembly,WASM(WebAssembly) 垃圾收集。WASM 是一种低级编程语言,源自 Mozilla 发起的 Asm.js 项目,设计提供比 Java 更快速的编译及执行,它允许开发者运用自己熟悉的语言编译,再借虚拟机引擎在浏览器内执行。
  • Manifest:显示通过manifest缓存的资源。包括很多信息,如js库文件会显示文件地址、大小和类型;
  • Has blocked cookies:仅显示具有阻止响应cookie的请求,此选项千万不要勾选。
  • Blocked Requests :仅显示被阻止的请求,此选项千万不要勾选。
  • 3rd-party requests:仅显示来源与页面来源不同的请求,此选项千万不要勾选。

Search :搜索框,只要在 ALL 里面出现的过的内容,就可以被直接搜索到。常用与数据检索与 JS 解密

Preserve log :保留日志。当分析在多个页面跳转的内容时,一定要勾上,不然当页面发生新的跳转是,历史数据全部都会被清空。保留日志,做爬虫是一定需要勾上

Disable cache :清空 JavaScript、css 文件的缓存,获取最新的。

Requests Table :最大的窗格叫 Requests Table,此表格会列出了检索的每一个 HTTP 请求。默认情况下,此表格按时间顺序排序,最早的资源在顶部。点击资源的名称可以显示更多信息。
在这里插入图片描述

Requests Table详情

在这里插入图片描述
1.Headers:是显示 HTTP 请求的 Headers,我们通过这个能看到请求的方式,以及携带的请求参数等。

  • General

    • Request url :实际请求的网址
    • Request Method: 请求方法
    • Status Code :状态码,成功时为 200
  • Response Headers :服务器返回时设置的一些数据,例如服务器更新的cookie数据最新是在这里出现修改

  • Requests Headers :请求体,请求不到数据的原因一般出在这里。反扒也是反扒请求体里面的数据

2.Preview :Preview 是请求结果的预览。一般用来查看请求到的图片,对于抓取图片网站比较给力。

3.Response :Response 是请求返回的结果。一般的内容是整个网站的源代码。如果该请求是异步请求,返回的结果内容一般是 Json 文本数据。此数据与浏览器展示的网页可能不一致,因为浏览器是动态加载的

4.Initiator :请求发起所调用的堆栈

5.Timing :请求与响应时间表

6.Cookies :显示数据包的cookies所有片段信息

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android studio 多界面的跳转和返回

一、新建一个Empty Activity项目&#xff1a; 二、修改activity_main.xml布局文件&#xff1a; <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/a…

unity控制摄像机几种视角实现方式

目录 1、按下鼠标右键可以实现摄像机上下左右旋转 2、自由视角 3、摄像头跟随视角 4、跟随自由视角 5、第一人称跟随视角 python学习汇总连接&#xff1a; 1、按下鼠标右键可以实现摄像机上下左右旋转 这段代码定义了一个名为CameraRotate的脚本&#xff0c;用于控制摄像…

【Python特征工程系列】教你利用XGBoost模型分析特征重要性(源码)

这是Python特征工程系列原创文章&#xff0c;我的第186篇原创文章。 一、问题 应用背景介绍&#xff1a; 如果有一个包含数十个甚至数百个特征的数据集&#xff0c;每个特征都可能对你的机器学习模型的性能有所贡献。但是并不是所有的特征都是一样的。有些可能是冗余的…

网络安全—认证技术

文章目录 加密认证对称密钥体制公钥密码体制公钥的加密公钥身份认证和加密 鉴别码认证MAC鉴别码 报文摘要认证认证 加密只认证数字签名 通过了解以前前辈们使用的消息认证慢慢渐进到现代的完整的认证体系。所以在学习的时候也很蒙圈&#xff0c;因为前期的很多技术都是有很严重…

数据结构:单调栈

1.单调栈 单调栈是一种数据结构&#xff0c;其中存放的数据应该是有序的&#xff0c;所以单调栈也有单调递减栈和单调递增栈 单调递增栈&#xff1a;栈顶到栈底的元素大小是从小到大 单调递减栈&#xff1a;栈顶到栈底的元素大小是从大到小 单调栈主要就是用来求一个给定序列中…

GenerateBlocks Pro插件 构建更好的WordPress网站

GenerateBlocks Pro插件 构建更好的WordPress网站 GenerateBlocks Pro插件是一个 WordPress 插件&#xff0c;几乎可以完成任何事情&#xff0c;可让您创建轻量级和多功能的网站。由与流行且快速的 GeneratePress 主题相同的创作者构建&#xff0c;该插件不负众望。使用 Genera…

数字孪生技术的未来预测

这种二维地图与摄像头关联&#xff0c;从实用角度来说&#xff0c;是不是比那些VRGIS和三维实景效果要好的多&#xff1f;也更能够还原现场情况,最重要的是成本也会低很多&#xff01;​​​ 那些用预先采集数据的方式&#xff08;比如倾斜摄影和3D建模&#xff09;来还原真实现…

springboot定时执行某个任务

springboot定时执行某个任务 要定时执行的方法加上Schedule注解 括号内跟 cron表达式 “ 30 15 10 * * &#xff1f;” 代表秒 分 时 日 月 周几 启动类上加上EnableScheduling 注释

【ROS2】MOMO的鱼香ROS2(一)ROS2入门篇——从Ubuntu操作系统开启

从Ubuntu操作系统开启 引言1 术语汇总2 Ubuntu &#xff08;操作系统&#xff09;2.1 Ubuntu权限管理2.2 Ubuntu安装软件2.2.1 使用apt命令安装2.2.2 dpkg安装deb包2.2.3 make install源代码安装 2.3 Ubuntu之常用指令2.3.1 ls命令&#xff08;查看文件&#xff09;2.3.2 cd 命…

C语言编程入门 – main()函数

C语言编程入门 – main()函数 C Programming Language Essentials - main() function By JacksonML 初见C语言&#xff0c;总被一个全球闻名的”Hello, world!”打印输出所惊讶。 1. 开启Hello, world!的C程序 代码如下&#xff1a; # include <stdio.h> int main(…

<JavaEE> TCP 的通信机制(四) -- 流量控制 和 拥塞控制

目录 TCP的通信机制的核心特性 五、流量控制 1&#xff09;什么是“流量控制”&#xff1f; 2&#xff09;如何做到“流量控制”&#xff1f; 3&#xff09;“流量控制”的作用 六、拥塞控制 1&#xff09;什么是“拥塞控制”&#xff1f; 2&#xff09;如何做到“拥塞…

OSPF的DR与BDR-新版(16)

目录 整体拓扑 操作步骤 1.基本配置 1.1 配置R1的IP 1.2 配置R2的IP 1.3 配置R3的IP 1.4 配置R4的IP 1.5 检测R1与R4连通性 1.6 检测R1与R2连通性 1.7 检测R1与R3连通性 2.搭建基本的OSPF网络 2.1 配置R1 OSPF 2.2 配置R2 OSPF 2.3 配置R3 OSPF 2.4 配置R4 OSPF…