使用Chrome 开发者工具提取对应的字符串

chrome · 浏览次数 : 13

小编点评

**处理大数据滚动滚动方法:** 1. **使用正则表达式匹配字符串:**使用正则表达式匹配 API 返回的字符串,并提取关键字符串。 2. **使用 DOM 操作进行页面滚动:**通过 DOM 操作滚动页面到关键字符串所在的区域。 3. **处理滚动过程中页面内容变化:**使用 DOM 操作监控页面内容变化,以便在滚动过程中处理动态内容。 4. **优化滚动性能:**通过使用高效的滚动方法,例如 GPU 滚动,以减少页面刷新频率。 5. **缓存匹配结果:**缓存匹配结果,以便在后续滚动过程中更快地获取链接。 6. **处理滚动结束后:**在滚动结束后,打印所有匹配结果。 **代码示例:** ```javascript const regex = /\"video\":\\s*\"([^\"]+)\"/g; // 获取 API 返回的字符串 const html = document.body.innerHTML; // 执行正则表达式匹配 const matches = regex.exec(html); // 滚动页面到关键字符串所在区域 const element = matches[0]; element.scrollIntoView(); // 打印匹配结果 console.log(matches.length, '匹配结果数量:', matches.length); ``` **注意事项:** * 确保 API 返回的字符串符合正则表达式的格式。 * 使用高效的 DOM 操作,例如 `querySelectorAll` 或 `querySelector`,以减少 DOM 操作数量。 * 优化滚动性能,以确保用户体验良好。 * 考虑使用滚动事件处理程序,以处理滚动过程中出现的动态内容。

正文

最近在查看一个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 开发者工具提取对应的字符串相似的内容:

使用Chrome 开发者工具提取对应的字符串

最近在查看一个API的数据,效果很好,但是里面只有一部分我想要的内容 如果是简单一点的可以直接获取 如下比如我想要提取返回的代码中关键的字符串:"video": "这里的内容" // 定义一个正则表达式来匹配 '"video": "链接"' 格式的字符串 var regex = /"video":\

[转帖]15 个必须知道的 chrome 开发工具技巧

在Web开发者中,Google Chrome是使用最广泛的浏览器。六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具。你可能已经熟悉了它的部分功能,如使用console和debugger在线编辑CSS。在这篇文章中,我们将分享15个有助于改进你的开发流程的技巧。 一、快

浏览器DevTools使用技巧

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:正则 作为一名前端开发人员,平时开发中使用最多的就是 Chrome devtools,但可能很多同学像我一样平时用的最多也就 Console、Elements

Chrome浏览器不同版本兼容性的验证方法

Chrome浏览器不同版本兼容性的验证方法 背景 上周客户现场有出现使用国产信创设备上面的奇安信浏览器出现兼容性的问题. 开发认为是测试不全面导致. 认为测试应该必须测试过特定浏览器才可以进行说明. 最开始国产设备上面仅能够支持firefox52.3ESR的版本 当时在进行银河麒麟和UOS的兼容适配

第134篇:解决浏览器的CORS跨域问题(CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge.)

好家伙, 我继续尝试着将我的飞机大战使用ES6模块化分离开来,出了点问题 1.出现问题: edge,chrome等一系列浏览器,会为了安全,禁止你跨域访问 目录如下: 主程序 index.html main_1.js main.js 完整代码如下: 1 /* //plane封装成类 2 //实例化后

逆向WeChat(四)

本篇在博客园地址https://www.cnblogs.com/bbqzsl/p/18209439 mars 先回顾一下,在上两篇《WeUIEngine》,《EventCenter》。我对wechat如何使用chrome::base框架的分析中需要更正补充。首先要指出,逆向分析是一个过程。需要经过不

逆向WeChat(三)

本篇在博客园地址https://www.cnblogs.com/bbqzsl/p/18198572 上篇回顾,对象是WEUIEngine。WeUIEngine使用了chrome::base框架,但只用来实现了单一的功能,只为了DUI的动画计时器。 chrome::base框架没有用作主线程的disp

Chrome 103支持使用本地字体,纯前端导出PDF优化

在前端导出PDF,解决中文乱码一直是一个头疼的问题。要解决这个问题,需要将ttf等字体文件内容注册到页面PDF生成器中。但是之前网页是没有权限直接获取客户机器字体文件,这时就需要从服务器下载字体文件或者提示用户选择字体文件上传到页面。对于动辄数十兆(M)的中文字体文件,网络不好时并不是一个好的解决方

如何使用Node.js、TypeScript和Express实现RESTful API服务

Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Express是一个保持最小规模的灵活的 Node.js Web应用程序开发框架,为Web和移动应用程序提供一组强大的功能。使用Node

从油猴脚本管理器的角度审视Chrome扩展

从油猴脚本管理器的角度审视Chrome扩展 在之前一段时间,我需要借助Chrome扩展来完成一个需求,当时还在使用油猴脚本与浏览器扩展之间调研了一波,而此时恰好我又有一些做的还可以的油猴脚本 TKScript ,相对会比较熟悉脚本管理器的能力,预估是不太能完成需求的,所以趁着这个机会,我又学习了一波