当前位置: 首页 > news >正文

爬虫----webpack

目录

一. 什么是webpack

出现的原因:同名函数

概念:

特征:大量缩进

webpack的格式

简单的webpack格式:

详细的webpack格式:

几个参数的运用

1. webpack数组形式

2. webpack对象格式

3.多个js文件打包

打印要扣的代码

案例,天翼网




知识星球 | 深度连接铁杆粉丝,运营高品质社群,知识变现的工具

一. 什么是webpack

出现的原因:同名函数

概念:

webpack 是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文
件等)都看成模块,通过loader(加载器)和 plugins (插件)对资源进行处理,打包成符合生产环境
部署的前端资源。所有的资源都是通过 JavaScript 渲染出来的。
  • webpack 是一个基于模块化的打包(构建)工具, 它把一切都视作模块
  • 如果一个页面大部分是script标签构成,80%以上是 webpack 打包。
  • 地址:财联社A股24小时电报-上市公司动态-今日股市行情报道

特征:大量缩进

webpack的格式

简单的webpack格式:

// 简单
!function (e) {加载器
}(接收的参数) 

详细的webpack格式:

 详细
!function (e) {// 存放加载器var c = {}// 加载器function n(t) {// 创建a对象var a = {i: t,  // 表示模块的标识符l: !1, // 布尔值,初试为false,用来表示当前模块是否被加载exports: {}  // 空对象,用于讲模块导出,存储};c[t] = {i: t,  // 表示模块的标识符l: !1, // 布尔值,初试为false,用来表示当前模块是否被加载exports: {}  // 空对象,用于讲模块导出,存储};// 执行函数里面的代码return e[t].call(a.exports, a, a.exports, n),a.l = !0,a.exports}n.m = e  // n.m 用来存所有的模块n(2)     // 执行当前选中的模块,下标2就是第三个模块
}([function () {...},function () {...},function () {...},function () {...},
])

几个参数的运用

1. webpack数组形式

给需要处理业务的模块进行打包,通过下标取值
// 这个格式就是webpack
!function (e) {// 存放加载器var c = {}function n(t) {var a = c[t] = {i: t,l: !1,exports: {}};console.log(a)return e[t].call(a.exports, a, a.exports, n),a.l = !0,a.exports}n.m = e// 入口n(2)
}([// 存放模块function () {console.log('负责登陆')},function () {console.log('负责注册')},function () {console.log('负责注册')}
])
​
 

2. webpack对象格式


给需要处理业务的模块进行打包,通过 key 取值
!function (e) {var t = {};
​
// 所有的模块 都是从这个加载器 执行的 分发器function n(r) {if (t[r])return t[r].exports;var o = t[r] = {i: r,l: !1,exports: {}};return e[r].call(o.exports, o, o.exports, n),o.l = !0,o.exports}
​n('xialuo') // 对象 根据KEY 找模块
}({0: function () {console.log('我是模块1 负责加密')},'xialuo': function () {console.log('我是模块2 负责解密')},2: function () {console.log('我是模块3 负责爬数据')}}
);
 

3.多个js文件打包

  • 如果模块比较多,就会将模块打包成JS文件, 然后定义一个全局变量 window["webpackJsonp"] =[ ],它的作用是存储需要动态导入的模块,然后重写 window["webpackJsonp"]数组的 push( ) 方法为 webpackJsonpCallback( ) ,也就是说 window["webpackJsonp"].push( )其实执行的是webpackJsonpCallback( ) , window["webpackJsonp"].push( ) 接收三个参数,第一个参数是模块的ID,第二个参数是 一个数组或者对象,里面定义大量的函数,第三个参数是要调用的函数(可选)

打印要扣的代码

window.mycode += '"' + n + '": ' + e[n] + ',\n'

案例,天翼网

b跟webpack有关,根据缩进,有理由怀疑是webpack

发现是多文件的webpack

得全扣,先扣主文件

打断点进去

再扣子文件

最终

此时我们导出加载器

干掉初始化

导出我们要的函数

找到b

最终

然后在本地补环境就行了

补完环境之后精简代码

替换掉这里

 

相关文章:

爬虫----webpack

目录 一. 什么是webpack 出现的原因:同名函数 概念: 特征:大量缩进 webpack的格式 简单的webpack格式: 详细的webpack格式: 几个参数的运用 1. webpack数组形式 2. webpack对象格式 3.多个js文件打包 打印要扣的代码 …...

Spring Mybatis PageHelper分页插件 总结

1.简介 使用分页插件可以帮助我们自动分页&#xff0c;不用手动在写sql的分页逻辑。 2.配置步骤 在pom.xml中添加依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.11<…...

9、等保测评介绍

数据来源&#xff1a;9.等保测评介绍_哔哩哔哩_bilibili 信息系统等级测评 信息系统等级测评是测评机构依据国家信息安全等级保护制度的规定&#xff0c;按照相关管理规范和技术标准&#xff0c;对未涉及国家秘密的信息系统的安全等级保护状况进行检测评估的活动。 等级测评…...

解决Gson将长数字( json字符串)转换为科学记数法格式

Gson&#xff08;又称Google Gson&#xff09;是Google公司发布的一个开放源代码的Java库&#xff0c;主要用途为序列化Java对象为JSON字符串&#xff0c;或反序列化JSON字符串成Java对象。 依赖 Gradle: dependencies {implementation com.google.code.gson:gson:2.11.0 }…...

php环境搭建教程

PHP环境搭建教程 在构建和开发PHP应用程序时&#xff0c;搭建一个稳定、高效的PHP环境是基础且关键的一步。本教程将详细介绍如何在不同操作系统&#xff08;Windows和Linux&#xff09;上搭建PHP环境&#xff0c;包括Apache服务器的安装与配置、PHP的安装与配置、MySQL的安装…...

测试ASP.NET Core的WebApi项目调用WebService

虚拟机中部署的匿名访问的WebService&#xff0c;支持简单的加减乘除操作。本文记录在WebApi中调用该WebService的方式。   VS2022创建WebApi项目&#xff0c;然后在解决方案资源管理器的Connected Services节点点右键&#xff0c;选择管理连接的服务菜单。 点击下图圈红处…...

【用Java学习数据结构系列】对象的比较(Priority Queue实现的前提)

看到这句话的时候证明&#xff1a;此刻你我都在努力 加油陌生人 个人主页&#xff1a;Gu Gu Study 专栏&#xff1a;用Java学习数据结构系列 喜欢的一句话&#xff1a; 常常会回顾努力的自己&#xff0c;所以要为自己的努力留下足迹 喜欢的话可以点个赞谢谢了。 作者&#xff…...

快手视频怎么保存到相册?(详细操作)

随着短视频的流行&#xff0c;快手已经成为越来越多人日常生活的一部分。无论是搞笑片段、旅行记录&#xff0c;还是生活点滴&#xff0c;用户们每天都会在快手上浏览到大量有趣的视频。有时候&#xff0c;我们会遇到特别想保存的视频&#xff0c;想要分享到朋友圈&#xff0c;…...

为什么 ECB 模式不安全

我们先来简单了解下 ECB 模式是如何工作的 ECB 模式不涉及链接模式&#xff0c;所以也就用不着初始化向量&#xff0c;那么相同的明文分组就会被加密成相同的密文分组&#xff0c;而且每个分组运算都是独立的&#xff0c;这也就意味着可以并行提高运算效率&#xff0c;但也正是…...

『功能项目』事件中心处理怪物死亡【55】

本章项目成果展示 我们打开上一篇54回调函数处理死亡的项目&#xff0c; 本章要做的事情是用事件中心处理怪物死亡后的逻辑 首先打开之前事件中心脚本&#xff08;不做更改&#xff0c;调用即可&#xff09;&#xff1a; using System.Collections.Generic; using UnityEngine…...

一个安卓鸿蒙化工具

DevEco插件&#xff0c;为已有安卓项目鸿蒙化加速。 目前支持&#xff1a; 1、安卓Vector Assets转svg&#xff1b; 2、json转ets model&#xff1b; 3、kotlin model转ets model&#xff1b; 下载地址&#xff1a;andtoharplugin1.1.0 安装&#xff1a; deveco插件安装选硬…...

PyQt5库学习之QFileDialog.getExistingDirectory函数

PyQt5库学习之QFileDialog.getExistingDirectory函数 一、简介 QFileDialog.getExistingDirectory 是 PyQt5 中的一个函数&#xff0c;它提供了一个标准的目录选择对话框&#xff0c;允许用户选择一个已存在的目录。这个函数是 QFileDialog 类的一部分&#xff0c;通常用于打开…...

AUTOSAR_EXP_ARAComAPI的5章笔记(9)

☞ 返回总目录 5.4 骨架类&#xff08;Skeleton Class&#xff09; 骨架类是由AUTOSAR 元模型的服务接口描述&#xff08;SI description&#xff09;生成的。ara::com对生成的骨架类的接口进行了标准化。自适应平台&#xff08;AP&#xff09;产品供应商的工具链将生成一个完…...

京东-第2题-撞车

Powered by:NEFU AB-IN Link 文章目录 京东-第2题-撞车题意思路代码 京东-第2题-撞车 题意 一条单向单车道的道路上有n辆车&#xff0c;第i辆车位于 xi;&#xff0c;速度大小为 vi。 显然&#xff0c;如果车辆保持此速度行驶下去&#xff0c;在大多数情况下都会发生碰撞。 现…...

Vue3流程图插件-Vue Flow

1、安装&#xff1a;通过 npm 或 yarn 安装 Vue Flow。 npm install vueflow/core# 或者yarn add vueflow/core 2、引入&#xff1a;在你的 Vue 3 项目中引入 Vue Flow。 import { VueFlow, Background, Controls, MiniMap } from vueflow/core;3、使用&#xff1a;在 Vue…...

初始网络编程(下)

所属专栏&#xff1a;Java学习 1. TCP 的简单示例 同时&#xff0c;由于 TCP 是面向字节流的传输&#xff0c;所以说传输的基本单位是字节&#xff0c;接受发送都是使用的字节流 方法签名 方法说明 Socket accept() 开始监听指定端口&#xff08;创建时绑定的端口&…...

java计算机毕设课设—土地档案管理系统(附源码、文章、相关截图、部署视频)

这是什么系统&#xff1f; 资源获取方式在最下方 java计算机毕设课设—土地档案管理系统(附源码、文章、相关截图、部署视频) 土地档案管理系统是一种将传统纸质档案进行数字化管理的软件。通过该系统&#xff0c;用户能够高效地进行土地档案的存储、查阅、修改和删除等操作…...

第4步CentOS配置SSH服务用SSH终端XShell等连接方便文件上传或其它操作

宿主机的VM安装CENTOS文件无法快速上传&#xff0c;也不方便输入命令行&#xff0c;用SSH终端xshell连接虚拟机的SSH工具就方便多了&#xff0c;实现VM所在宿主机Win10上的xshell能连接vm的centos要实现以下几个环节 1、确保宿主机与虚拟机的连通性。 2、虚拟机安装SSH服务&…...

Spring:统一结果私有属性造成的前端无法访问异常报错问题

用户未填写任何评价 1.问题复现 &#xff08;1&#xff09;看一段代码 controller&#xff1a; import lombok.extern.slf4j.Slf4j; import org.ljy.testdemo.common.Result; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.w…...

thinkphp 做分布式服务+读写分离+分库分表(分区)(后续接着写)

thinkphp 做分布式服务读写分离分库分表&#xff08;分区&#xff09; 引言 thinkphp* 大道至简一、分库分表分表php 分库分表hash算法0、分表的方法&#xff08;thinkphp&#xff09;1、ThinkPHP6 业务分表之一&#xff1a;UID 发号器2、ThinkPHP6 业务分表之二&#xff1a;用…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录&#xff0c;这个目录下存放着许多可执行文件。与其他系统的可执行文件类似&#xff0c;这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中&#xff0c;用…...