首页 > 其他分享 >使用Chrome 开发者工具提取对应的字符串

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

时间:2024-05-22 10:07:25浏览次数:19  
标签:function 滚动 Chrome var video 开发者 字符串 链接 match

最近在查看一个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 函数来打印所有找到的链接。

标签:function,滚动,Chrome,var,video,开发者,字符串,链接,match
From: https://www.cnblogs.com/xkboi/p/18205594

相关文章

  • Mybaits使用SQL拦截器实现字符串修剪
    概述一般情况下,保存到数据库中的字符串类型的数据,我们一般都不希望它前后带着空格,类似于"哈哈哈"。在业务中,如果每一个保存到数据库中的SQL都去对字符串参数进行trim的操作,这是很繁琐的,且容易漏掉。解决方案使用Mybatis的拦截器,拦截每一个SQL,针对SQL中的字符串参数进行tr......
  • 鸿心聚力,智引未来 | OpenAtom OpenHarmony开发者大会2024即将启幕
    开源技术已成为推动科技创新的关键动力。在这种趋势下,OpenAtomOpenHarmony(以下简称“OpenHarmony”)项目凭借其独特的开源理念和强大的生态吸引力,正逐渐成为引领智能终端操作系统发展的新趋势。5月25日,以“鸿心聚力智引未来”为主题的OpenHarmony开发者大会2024将在深圳盛大开幕......
  • 844 比较含退格的字符串
    classSolution{publicbooleanbackspaceCompare(Strings,Stringt){Stack<Integer>stk1=newStack<Integer>();Stack<Integer>stk2=newStack<Integer>();comP(stk1,s);comP(stk2,t);......
  • 指针数组练习排列字符串
    用指针数组实现排列字符串#include<stdio.h>#include<math.h>#include<string.h>#defineN5voidOrderString(char*p[],intn);intmain(){char*arr[10]={"Hello","Howareyou?","I'mfine","Ilovecomputer......
  • 奥特曼回应 OpenAI 股权问题和「封口协议」;月暗杨植麟:大模型和互联网开发模式完全不同
       开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观......
  • 腾讯地图、百度地图和高德地图开发者使用体验比较
    摘要:本文将介绍腾讯地图、百度地图和高德地图在前端项目中的使用区别,重点分析了腾讯地图在项目中可能存在的一些缺点,并提供了相应的开发优化方案,以提升腾讯地图在项目中的使用体验。正文:在前端开发中,地图服务提供商扮演着至关重要的角色。腾讯地图、百度地图和高德地图是常用的......
  • 字节流与十六进制字符串的相互转化
    usingDigest=std::vector<unsignedchar>;std::stringdigestToHex(constDigest&bytes,std::size_tlength){ staticconstchardigits[]="0123456789abcdef"; conststd::size_tfullLen=bytes.size()*2; std::size_tlen=length?l......
  • chrome的开发者工具中,单步调试script
    选择Sources标签在开发者工具中,点击顶部菜单中的“Sources”选项卡。注意:在切换到“Sources”选项卡后,默认是没有源码的,需要再次刷新下页面,才能看到对应的源码,才能设置断点。设置断点:在你想要暂停执行的代码行上,点击行号旁边的空白区域,这将在那一行上设置一个断点。常见......
  • PTA——字符串答案
    7-1sdut-C语言实验-字符编码请将一串长度最长为5的纯字母文本译成一个密码,密码规律如下:用原来的字母后面的第4个字母代替原来的字母。如C用G代替(如果该字母没后面没有第4个字母可代替,则需从26字母表中的首字母开始代替,比如:W用A代替,Z用D代替),最后得到的文本即为密码。输入格式:......
  • Vue3+nanoid编写字符串ID生成器
    Vue3+nanoid编写字符串ID生成器中文介绍:https://github.com/ai/nanoid/blob/HEAD/README.zh-CN.md一个小巧、安全、URL友好、唯一的JavaScript字符串ID生成器。“一个惊人的无意义的完美主义水平,这简直让人无法不敬佩。”小巧. 116字节(经过压缩和Brotli处理)。没有依......