最近在查看一个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. 《Spring 测试指南》:JPA、MockMvc 和 @SpringBootTest 详解

    测试 Spring 提供了一组测试工具,可以轻松地测试 Spring 应用程序的各个组件,包括控制器.服务.存储库和其他组件.它具有丰富的测试注释.实用程序类和其他功能,以帮助进行单元测试.集成测试等 ...

  2. C# DevExpress下GridControl控件的增删查改

    DevExpress的GridControl控件可以从任何数据源绑定数据并进行增删查改等操作,和VS自带的dataGridView控件对比,GridControl控件可以实现更多自定义的功能,界面UI ...

  3. zbar:Qt调用zbar做条码识别

    编译: zbar Windows编译:https://gitee.com/vvvj/zbar-windows 下载下来后,直接使用vs来编译就可以了. zbar官网:https://zbar.sour ...

  4. easyExcel合并数据导出(一对多)

    语言 java 框架 ssm 需求 :看图  也是导出效果 数据库查询为(关系为一对多) 一个学生对应多个课程 实现步骤 1.实体类配置, 建议单独写个实体用来导出使用() 学生信息字段正常配置  , ...

  5. 为你推荐一款高效的IO组件——okio

    原文:https://mp.weixin.qq.com/s/XnNhSq8ESoslb2DQEzMbCQ,点击链接查看更多技术内容.   前不久,三方组件库上新了一批JS/eTS组件,其中就包括oki ...

  6. 树模型--ID3算法

    基于信息增益(Information Gain)的ID3算法 ID3算法的核心是在数据集上应用信息增益准则来进行特征选择,以此递归的构建决策树,以信息熵和信息增益为衡量标准,从而实现对数据的归纳分类. ...

  7. Android 开发入门(3)

    0x05 活动 Activity (1)启停活动页面 a. 启动和结束 从当前页面跳转至新页面 startActivity(new Intent(this, [targetPage].class)) ...

  8. 一文读懂IoU,GIoU, DIoU, CIoU, Alpha-IoU (代码非常优雅)

    IoU就是就是我们说的交并比 Intersection over Union ,具体就是两个box的交集除以并集. 当我们计算我们的anchors 或者 proposals 与 ground trut ...

  9. Node.js 中的事件循环机制

    一.是什么 在浏览器事件循环中,我们了解到javascript在浏览器中的事件循环机制,其是根据HTML5定义的规范来实现 而在NodeJS中,事件循环是基于libuv实现,libuv是一个多平台的专 ...

  10. 《Effective C#》系列之(三)——充分利用C#语言的新功能

    在<Effective C#>这本书中,利用C#语言的新功能是其中一章的内容.以下是该章节的一些核心建议,以及使用C#代码示例说明: 利用自动属性:在C# 3.0中引入了自动属性,可以大大 ...