- 博客(35)
- 问答 (17)
- 收藏
- 关注
原创 在浏览器控制台抓取网站数据,并导出为Excel文件(引出内容安全策略CSP)
则此时为了获取各个页面的数据,可以获取到指定页的元素或下一页的原,然后构造触发点击事件,就能达到效果。回顾上面在浏览器控制台抓取网页数据并保存到本地的方式,一个关键的部分是加载了外部的JS文件,即导入了 alasql 这个库来帮助我们把数据整理并保存到本地。当然,也可以不引入其他的库,拿到最终的 resultData 后,直接在控制台输出,然后手动地复制黏贴到本地的文件中。点击执行代码,将弹窗表格下载的目标地址,选择位置进行存放。的方式,另一种是在网页的 meta 标签中进行配置,两种方法是等效的。
2023-05-18 23:40:21
14
原创 nodejs爬取网页所有有效图片资源,并下载到本地文件夹中
使用 cheerio 解析该网页的源代码,将所需要的 img 标签(all)获取到,然后将 img 元素中的 src 属性值解析出来,放到一个预先定义的数组中。当文件夹创建成功,调用 cmd.run 方法(异步)打开文件资源管理器,显示到新创建的文件夹下观察图片的下载。物色好目标网站,在网站中打开控制台,使用元素查看器观察 img 类型元素的一般结构。下载图片资源前,先使用 fs.mkdir 方法创建一个新的目录,以当前的时间戳命名。目标 img 元素的一般结构可以确定为 li > a > img。
2023-05-14 17:14:07
77
原创 有N个数,用其中M个任意组合相加等于一个数X。请求出这M个数是哪些数的组合。其中M<=N,且M中每个组合中的数都只出现一次——Python
有N个数,用其中M个任意组合相加等于一个数X。请求出这M个数是哪些数的组合。其中M
2023-05-03 00:06:23
96
原创 React、pdfjs-dist、pubsub-js实现简易自定义PDF页面
如果直接使用 document.querySelecterAll 方法 + canvas 类名(这个canvas类名是自定义的,即函数displayPDF、resizePDF 中要传的参数 canvasClassName)的方式获取到所有的canvas,然后通过遍历的方式给他们分别设置属性 taransform scale 来实现放大或缩小的效果,会导致PDF变模糊而影响阅览体验。(8)所有页面渲染完成后执行的回调函数(这里设置回调函数有一个参数,为该pdf的总页数,用于展示pdf的总页数);
2023-04-29 07:30:00
100
原创 React-学习笔记(7-组件间通信的几种方式)
需要父组件提前定义一个函数,然后该函数需要的参数就是子组件向父组件传的数据,函数体的内容可以是在父组件中处理该参数(子组件传过来的数据),也可以把数据传给其他的子组件实现兄弟组件之间的通信等。接收到 Children 组件中用户输入的数据,将该数据传给 Children_a。组件 InputArea ,用于提供用户输入环境,并实时发布消息,传递用户输入的完整内容作为消息的数据。订阅用户输入的消息,将用户输入的数据实时更新到面板中。子组件 Children_a 用于实时展示用户输入的内容。
2023-04-26 16:17:36
8
原创 React-学习笔记(6-使用Scss,配置代理跨域)
注意:以下后三项请求的展示结果,在服务器中返回的数据都是一个数组的形式,如 car 数据返回的是 res.data = ['大众','奥迪','本田','北京','坦克','奔驰','沃尔沃']。将数组类型的数据放在JSX中的花括号中,会自动遍历数组中的内容,因此 carInfo 为若干个汽车品牌名称的拼接效果。先在 src 下创建一个 js 文件,并命名为 setupProxy.js。简单编写 JSX 文件和对应的 scss 文件,在 JSX 件中引入 scss 文件。1、安装并简单使用Scss。
2023-04-25 21:49:07
24
原创 React-学习笔记(5-React脚手架的安装和简单使用)
先删除掉脚手架文件 public 目录和 src 目录下的全部内容(暂且留下 public 目录下的 favicon.ico 图标文件),重新开始创作。components 目录下又是若干个目录(有多少个组件,就应该有多少个这样的目录),在 src 目录下创建一个新的目录 components,专门用来存放组件。(注意,项目文件夹名称不能有中文或特殊字符,不要使用大小的英文字母)(1-1)创建项目脚手架(每次创建项目脚手架时需进行)进入到准备用来存放项目文件夹的目录下,(1-2)启动\运行项目。
2023-04-22 23:12:04
23
原创 React-学习笔记(4-组件生命周期)
1、旧 的生命周期函数(9个)1、旧 的生命周期函数(9个)初始化时调用的生命周期函数(初始化由 ReactDOM.render() 引发)就是类的构造器,最早执行的,一生只执行一次。将要挂载,一生只执行一次。旧名称为 componentWillMount ,已经废弃。在未来的某个新版本开始将不再支持旧名称的写法。render—— 将组件渲染到页面中,将执行至少一次。—— 组件挂载完毕后执行,常在该函数内做一些初始化的操作。
2023-04-22 17:19:34
16
原创 React-学习笔记(3-受控/非受控 组件、简易数据双向绑定的实现,高阶函数及函数柯里化优化数据收集)
由于非受控组件会使用到 ref ,且可能会使用到很多次,所以多少会存在一些性能上的问题,在数据需要收集的时候,可以多考虑使用受控组件来完成。用户输入的数据或者是选择的操作实时被监视,并将值实时地更新到 state 中,在需要使用时,可以直接到 state 中获取,就是受控的;如果用户输入的数据或各种操作的结果在需要收集时是利用 ref 绑定了元素、通过 refs 的方式来获取的,那就是非受控组件;受控,大概可以理解为 “受监控”。以表单作为简单例子。3、数据双向绑定的简单实现。
2023-04-20 15:55:30
15
原创 React-学习笔记(2-组件-组件的三个属性state、props、refs)
但是在这里(组件标签中),我们写的不是 js,而是 jsx ,{...cityObj} 这对花括号是 jsx 中书写表达式或变量的一个语法,我们真实书写的只是 ...cityObj ,并不是把一个拷贝出来的对象加在组件标签身上。在类的构造器中,让目标方法调用 bind() 方法,修改目标方法的 this 指向,并把返回的新函数赋给一个实例方法。的时候该函数会执行两次,第一次执行传递的参数是null,用户清空旧的 ref,然后再执行一次,这次传递的参数是当前的DOM结点,用于设置新的 ref。
2023-04-19 21:33:26
13
原创 React-学习笔记(1-简单使用)
若标签是小写字母开头,则jsx在将标签转化成html时,将该标签与html中的标签相对应转换;、一个虚拟dom,只能有一个根标签,如下方的p就属于只有一个根标签(即p)。、定义虚拟 dom 时,右边jsx标签内容不要用引号包裹,如需要换行则用圆括号将全部内容包起来写。、若要设置内联样式(style),要使用双花括号的格式,且外侧不需要用引号包裹(如上)。、若要添加类属性值,类属性的名称 class 变为 className(如上)。、若jsx中混入变量、js表达式等,则需要使用一对花括号包裹起来。
2023-04-18 17:58:15
11
原创 调整Element-UI组件内部元素的样式以满足实际需求
背景:options 的配置使用官方示例所给出的实例,并将最后一个复制成多个,便于展示实际中遇到的问题。此时观察页面结果:可见实际左边第一级列表的高度是受限的,并没有扩展到与容器一致的高度。限制其伸展的是一个名为的一个规则(如上图),其固定了其高度为204px。
2023-04-14 20:13:07
37
原创 前端对AlaSQL的基本使用(联系Excel的读取、创建并导出)
AlaSQL专注于关系数据和无模式数据的查询速度和数据源灵活性。此外,它还可以在Web浏览器,Node.js和移动应用程序中使用。使用AlaSQL不仅可以在数据中使用传统的SQL,还可以读写Excel和其他的数据文件等。3)数组中每一个对象有多少个属性,则表中就有多少个属性(列)(需要每个对象的属性都相同);2)该数组的长度即表内容的元组(行)数,当前长度为4即四行(表头行除外);1、使用传统的方法创建一个表,并插入数据,然后查询全部。1)使用的还是那个对象数组,将其当成表来用。需要用到XLSX.js。
2023-04-14 17:23:12
38
原创 不搭建云服务器,让前端能访问后端的资源示例(花生壳内网穿透)
内网主机就是自己电脑的内网IP,可以是IPv4也可以是IPv6(可以在dos控制台输入ipconfig查看);在中间的位置可以看到我们刚才新建的映射,在右下方看到各种解析成功、连接成功的提示。内网端口号填写后端所监听的那个端口号就可以。外网端口默认是443,不用改;其他不需要改动,点击确认即可。需要设置为https,这样才能被前端请求到;外网域名下拉框选择;
2023-04-07 00:38:03
62
原创 NodeJs-学习笔记
1、安装 nodemon2、npm initnpm init 可以创建一个package.json文件,该文件存放整个项目的配置数据,比如npm安装了哪些第三方包的工作都会有记录。有了这个文件,当要把整个项目发给同事,就不用发node_model文件了(这个文件一般比较大,项目中所有的依赖文件都放在里面,比如第三方的工具库,就像要在项目中使用element-ui时,要用npm安装这个第三方库以应用到项目中)。
2023-03-29 19:47:01
82
原创 Canvas-Study
考虑浏览器的支持(基本上都支持了):支持 的浏览器会只渲染 标签,而忽略其中的替代内容。不支持 的浏览器则 会直接渲染替代内容。
2023-03-26 20:47:40
39
原创 求解自幂数的一种算法
关于自幂数的概念:如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数。例如:在十进制中,153是一个三位数,各个数位的3次幂之和为1^3 + 5^3 + 3^3=153,所以153是十进制中的自幂数;1634 = 1^4 + 6^4 + 3^4 + 4^4,则1634也是十进制中的一个自幂数,如此类推。各种自幂数的名称:一位自幂数:独身数(1,2,3,4,5,6,7,8,9)两位自幂数:没有三位自幂数:水仙花数(四位自幂数:四叶玫瑰数(
2023-03-24 10:37:01
57
原创 前端做一个鼠标指针图案替换鼠标样式并在项目中使用
先做一个.cur 类型的文件(.cur类型的文件众多浏览器都能兼容)。如果可以的话,可以自己画一张鼠标样式的图片。这里从网上借用了一张橡皮擦的 .jpg 图片。这个图片不是 .png 类型的图片(有白色的背景)。 然后用 PS 打开这张图片。如果图片还不是正方形的,可以先将图片调整为正方形的......
2023-03-11 17:42:35
257
原创 前端网络请求学习
通过 XMLHttpRequest 构造函数创建 xhr 对象使用 xhr 对象首先要先调用 open 方法,该方法接收三个参数:请求类型('get'、'put'等)、请求的URL、本请求是否异步进行的布尔值。调用 open 不会实际发送请求,而是为发请求做准备。
2023-02-02 21:38:07
37
原创 JavaScript-Array 学习
15、三个查找方法 indexOf、lastIndexOf、includes。这个函数返回的任何值都将会被作为下一次调用这个归并函数的第一个参数。函数执行完成后返回true的项会组成数组之后作为该方法的返回值。返回数组中每个值的等效字符串拼接而成的一个由逗号分隔的字符串。不管接收到的参数是一个数组还是一个其他类型的数据。创建一个包含原有数组中一个或多个元素的新数组。可以用来生成一个与原数组元素一一对应的新数组。接收一个参数时为要查找的元素。返回查找到的元素在源数组中的索引位置。
2023-01-27 23:11:48
24
原创 JavaScript-string 学习
7、字符串检查方法(startWith、endWith、includes)4、提取字符串的三种方法(slice,substr,substring)8、两侧空白处理(trim、trimLeft、trimRight)14、字符串比较方法 (localCompare)三种提取字符串的方法都不会改变原来的字符串。
2023-01-27 22:47:12
53
原创 JavaScript-BOM 学习
BOM——浏览器对象模型(Browser Object Model)提供与网页无关的浏览器功能对象windowBOM的核心是window对象,表示浏览器的实例。
2023-01-27 22:10:29
19
原创 利用排列组合公式Cnm输出杨辉三角(C语言实现)
二项式定理与杨辉三角联系十分紧密。杨辉三角的第 n 行的第 m(设m从0开始数) 个数即 n 次二项式展开的第 m 个系数,因此杨辉三角某行某列上的数都可以通过二项式定理的系数来得知,计算n次二项式展开的系数又可以通过排列组合的公式来求。 杨辉三角的第 n 行 第 m 列可以使用该公式求得,这里的 n 行、m 列对应着上方公式中的 n 和 m 。等式最右边的分子为 n 的阶乘,一定包含分母中的 (n - m)! ,两者相消,得到的结果分子为 n * (n - 1) * (n - 2) *
2022-12-04 16:06:33
657
原创 数据结构与算法学习——关于单链表的一些基本处理
1、创建链表的两种方法(尾插法、头插法):2、(遍历)输出链表:3、链表的长度:4、返回一个链表,由原链表的奇数位置项结点连接而成。创建一个新的链表来实现。 5、返回一个链表,由原链表的 偶数位置 项结点连接而成。在原链表上操作。6、从 大到小 排序链表7、从 小到大 排序链表8、快慢指针法,输出链表中间的一个结点。9、反转链表 用到三指针法10、销毁链表 两个方法
2022-09-17 23:58:59
120
原创 数据结构与算法学习——C单链表 在被调用函数内部能否改变原链表的一个小坑点
在被调用函数中:使用List = List->next; 和*List = *(List->next); 的区别。以及:List->next = NULL;和List->next = List->next->next;
2022-09-17 23:06:01
118
原创 MongoDB数据库3.2和4.4两个不同版本的启动和运行方法
3.2版本在安装的时候没有自动生成存放记录的data目录(打开安装完毕的MongoDB文件夹,在存放bin目录的同级目录下可以看到没有data文件夹。比3.2高的版本一般安装好后,一般都会自带data文件夹)。) 后面的 D:\db 是自己设置的 data 目录的位置。点击回车之后,如果显示的内容与下图类似,则表示已经正常启动。关于4.4版本,在bin目录所在的目录中是有自带的data文件夹的。然后回车就能启动并运行MongoDB了,直接在当前终端窗口中输入指令即可。,因为运行需要他的支持。
2022-08-25 12:31:51
262
原创 实现一个简洁朴素的左侧贴边导航栏html+CSS+javaScript
学习使用HTML、CSS、JavaScript 实现一个简易朴素的贴边竖直导航栏。
2022-08-12 14:44:37
3010
11
原创 离散数学图论在普通电路分析中的应用
其实离散数学在电路中也是能有所应用的。就像图可以运用在对电路的分析中。例如对于任意正确连接的电路图,由于电流具有方向性,可以把电路图看做是一个有向的连通图;忽略电流的方向,该无向连通图至少可以找到一条初级回路。若关注电流的流动,运用在电路中的节点电流定律又可以用图论中有向图的出度和入度的知识来理解。例如下图题目1-3所示电路,对于电路图中的A节点,运用节点电流分析法可知,在任一时刻,对电路中的任一节点,流入节点的电流之和等于流出节点的电流之和。这就与图论中的出度与入度十分相似................
2022-07-31 21:40:58
1267
原创 学习使用vue实现一个验证码(随机生成汉字,按顺序点击汉字以完成验证)
学习使用vue,借助脚手架实现了一个随机生成四个汉字,提示用户按指定顺序依次点击汉字的验证码。
2022-07-26 11:53:50
2024
5
空空如也
关于js、nodejs处理pptx的问题
2023-05-19
express怎么读取一个本地的视频,然后返回给前端?
2022-08-26
java怎么用一个方法交换主函数里面定义的两个变量的值?就像c传递地址一样
2022-02-05
连续使用scanf("%c",)时,怎么判断什么时候会读取回车?
2022-01-26
是否有办法将输入的一串数字就以数字的形式保存在文件中?
2021-12-26
一个输出表达式中连续用指针输出遇到的问题
2021-12-23
建立静态链表,接收不到用户输入的第一组数据
2021-12-18
对动态链表输出时遇到的一个问题
2021-12-17
使用二重指针时出现的问题
2021-12-16
用指针的办法将十个字符串由小到大排序,用strncpy()函数遇到的问题
2021-12-10
两指向一维数组的指针变量地址互换,为什么其指向的一维数组不互换?
2021-12-09
c语言指针表示二维数组的一个问题
2021-12-09
选择法排列数字,调用函数出现段落错误问题
2021-11-30
C语言学习 在函数中给所创建的数组赋值时遇到的问题
2021-11-28
借助第三个变量使两个变量的值互换遇到了问题,请求指点迷津!
2021-11-19
c语言if语句多项判断
2021-10-04
c语言学习中创建变量时遇到问题
2021-10-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人