最近在查看一个API的数据,效果很好,但是里面只有一部分我想要的内容

如果是简单一点的可以直接获取

如下比如我想要提取返回的代码中关键的字符串:"video": "这里的内容"

// 定义一个正则表达式来匹配 '"video": "链接"' 格式的字符串
var regex = /"video":\s*"([^"]+)"/gi; // 用于存储所有找到的链接
var links = []; // 执行正则表达式搜索
var match;
while ((match = regex.exec(document.body.textContent)) !== null) {
// match[1] 包含链接
links.push(match[1]);
} // 打印所有找到的链接,每个链接一行
links.forEach(function(link, index) {
console.log('video' + (index + 1) + ': ' + link);
});

但是如果返回的结果有10万行代码左右阁下该如何应对?

我突发奇想,让浏览器自己滚动,一边滚动一边扫描就想PLC一样,一边扫描一边执行程序

// 定义一个正则表达式来匹配 '"video": "链接"' 格式的字符串
var regex = /"video":\s*"([^"]+)"/g;
var matches = [];
var interval;
var step = 100; // 每次滚动的像素数
var position = 0; // 当前滚动位置 // 滚动函数
function scrollToBottom() {
position += step;
window.scrollTo(0, position); // 检查是否到达页面底部
if (position >= document.body.scrollHeight) {
clearInterval(interval);
printMatches();
} else {
// 继续寻找匹配项
findMatches();
}
} // 查找匹配项的函数
function findMatches() {
var text = document.body.innerText;
var match;
while ((match = regex.exec(text)) !== null) {
matches.push(match[1]); // 只添加链接部分
}
} // 打印匹配结果的函数
function printMatches() {
console.log('找到的链接数量:', matches.length);
matches.forEach(function(link, index) {
console.log('video' + (index + 1) + ': ' + link);
});
} // 开始滚动和查找匹配项
interval = setInterval(scrollToBottom, 50); // 每50毫秒滚动一次

讲解:首先定义了一个滚动函数 scrollToBottom,它会逐步向下滚动页面,并在每次滚动后调用 findMatches 函数来查找匹配的链接。当滚动到页面底部时,通过 clearInterval 停止滚动,并调用 printMatches 函数来打印所有找到的链接。

使用Chrome 开发者工具提取对应的字符串的更多相关文章

  1. Chrome开发者工具不完全指南(六、插件篇)

    本篇是Chrome开发者工具的结尾篇,最后为大家介绍几款功能强大的插件.在chrome商店里面有很多插件,没事建议大家去逛逛.不过需要FQ,所以诸位请自备神器.一.皮肤插件 首先是大家期盼已久,翘首以 ...

  2. Chrome开发者工具详解(4)-Profiles面板

    Chrome开发者工具详解(4)-Profiles面板 如果上篇中的Timeline面板所提供的信息不能满足你的要求,你可以使用Profiles面板,利用这个面板你可以追踪网页程序的内存泄漏问题,进一 ...

  3. Chrome开发者工具详解(1)-Elements、Console、Sources面板

    Chrome开发者工具详解(1)-Elements.Console.Sources面板 Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Netwo ...

  4. Chrome开发者工具详解(1)

    Chrome开发者工具面板 面板上包含了Elements.Console.Sources.Network.Timeline.Profiles.Application.Security.Audits这些 ...

  5. 前端调试效率低?试试这10个“Chrome开发者工具”使用技巧

    摘要:今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试,优化页面渲染速度等.希望能提升Web开发人员的工作效率. 今天给大家分享一些使用“Chrome开发者工具”的小技巧.包括调试, ...

  6. Chrome开发者工具详解(1):Elements、Console、Sources面板

    Chrome开发者工具面板 面板上包含了Elements面板.Console面板.Sources面板.Network面板. Timeline面板.Profiles面板.Application面板.Se ...

  7. 用Chrome开发者工具做JavaScript性能分析

    来源: http://blog.jobbole.com/31178/ 你的网站正常运转.现在我们来让它运转的更快.网站的性能由页面载入速度和代码执行效率决定.一些服务可以让你的网站载入更快,比如压缩J ...

  8. 前端开发必备之Chrome开发者工具(一)

    本文介绍的 Chrome 开发者工具基于 Chrome 65版本,如果你的 Chrome 开发者工具没有下文提到的那些内容,请检查下 Chrome 的版本 简介 Chrome 开发者工具是一套内置于 ...

  9. 使用chrome开发者工具中的network面板测量网站网络性能

    前面的话 Chrome 开发者工具是一套内置于Google Chrome中的Web开发和调试工具,可用来对网站进行迭代.调试和分析.使用 Network 面板测量网站网络性能.本文将详细介绍chrom ...

  10. 前端开发必备之Chrome开发者工具(上篇)

    本文介绍的 Chrome 开发者工具基于 Chrome 65版本,如果你的 Chrome 开发者工具没有下文提到的那些内容,请检查下 Chrome 的版本 简介 Chrome 开发者工具是一套内置于 ...

随机推荐

  1. [UAC]C++判断某进程是否有管理员权限

    BOOL IsAdminProcess(UINT PID) { if (PID <= 0) PID = GetCurrentProcessId(); HANDLE hProcess = Open ...

  2. openGauss支持国密SM3和SM4算法

    国密算法介绍 国密即国家密码局认定的国产密码算法,主要有 SM1,SM2,SM3,SM4.密钥长度和分组长度均为 128 位.针对银行客户对数据库安全能力的诉求以及提高产品安全竞争力的要求,进行数据库 ...

  3. 直播预告丨Hello HarmonyOS进阶课程第四课——ArkUI动画开发

    为了帮助初识HarmonyOS的开发者快速入门,我们曾推出Hello HarmonyOS系列课程,从最基础的配置IDE和创建Hello World开始,详细介绍HarmonyOS基础.开发环境搭建.I ...

  4. Solon 的事务管理工具类(TranUtils)

    Solon 在编码上,是强调注解与手写并重的一个风格.它有个 @Tran 注解,用于事务管理(可以参考:<事务的全局控制及应用>).这里,主要是讲讲它的手动处理工具类 TranUtils. ...

  5. c# ManualResetEventSlim

    前言 后续会把异步编程的ManualResetEventSlim 深入写完,先简单介绍一下吧. ManualResetEventSlim 有set 方法和 reset .wait.dispose方法. ...

  6. super()和super(props)

    一.ES6类 在ES6中,通过extends关键字实现类的继承,方式如下: class sup { constructor(name) { this.name = name } printName() ...

  7. 手写一个Mybatis框架

    第一:Mybatis框架介绍 最近看了一篇关于Mybatis的文章,发现MyBatis框架的核心功能其实不难,无非就是动态代理和jdbc的操作,难的是写出可扩展,高聚合,低耦合的规范的代码. 本文手写 ...

  8. C#的窗体假关闭操作例子 - 开源研究系列文章

    晚上编码的时候,想到了以前编写的窗体关闭的事情,就是带托盘图标的应用,有一个主显示操作窗体,但是主窗体点击关闭按钮的时候,实际上是窗体隐藏而非真正关闭,这个在其它的一些应用程序里有这个效果.于是就想到 ...

  9. 力扣1768(java&python)-交替合并字符串(简单)

    题目: 给你两个字符串 word1 和 word2 .请你从 word1 开始,通过交替添加字母来合并字符串.如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾. 返回 合并后的 ...

  10. 问题排查不再愁,Nacos 上线推送轨迹功能

    简介: 微服务体系下,注册中心的调用和配置变更是家常便饭,例如阿里每天就有百万级变更.亿级推送.可是,一旦出现调用或配置异常,问题排查就成了用户最大的困惑:是注册和配置中心导致的,还是上下游业务自身的 ...