题目爬取 js

2023-11-03

function collect(){
    // 内容元素
    const content =  document.querySelector('.content')
    // 题目正则
    const regexp = /\d+、(【..题】.*?)\n([\s\S]+?)参考答案:([A-Z]+)/
    // 选项正则
    const optionsRegExp = /[A-Z]{1}[^A-Za-z0-9\u4e00-\u9fa5]{1}(.+)/
    // 多选分隔符
    const seperator = "#"
    // 开始爬取
    const res = content.innerText.match(RegExp(regexp,'g')).map((text)=>{
        // 题目内容
        const item = text.match(regexp)
        // 选项内容
        const opts = item[2].match(RegExp(optionsRegExp,'g'))
        const answers = []
        for(let word of item[3]){
            if(/[A-Z]/.test(word)){
                //(多/单)选题
                answers.push(opts[word.charCodeAt(0) - 65].match(optionsRegExp)?.[1])
            }else{
                // 其他字符 : √,×,或者纯文本 
                answers = [word];
                break
            }
        }
        return `${item[1].trim()}\t${answers.join(seperator).trim()}\n`
    })
    return res.join("")
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

题目爬取 js 的相关文章

  • Javascript 函数与 php 一样吗?

    我在网站上使用 WebIM 提供聊天支持 我希望能够在客户端启动聊天会话时设置一个计时器 如果操作员 技术人员在 x 秒内没有响应 我希望页面重定向到客户端可以留言的另一个页面 有点像 请稍等 我们尝试联系您 这样 如果所有技术人员都太忙或
  • WebGL iOS 渲染为浮点纹理

    我正在尝试在 iOS Safari 上的 WebGL 中渲染浮点纹理 而不是在本机应用程序中 我已经设法让 iOS 读取手动 例如从 JavaScript 创建的浮点纹理 但是当我创建浮点类型的帧缓冲区并使用 GPU 渲染到其中时 它不起作
  • 在 Javascript 中,有什么方法可以知道从哪个主机脚本加载?

    在javascript中 作为从某个主机加载的脚本 有什么方法可以知道我是从哪个服务器 主机加载的 我需要向该主机发出额外的 ajax 请求 并且更愿意动态地找出主机 因此 如果您在页面上包含 javascript 文件 当该 javasc
  • 使用javascript在谷歌地图中绘制多边形

    我想在谷歌地图中绘制多边形 我正在使用示例代码http jsfiddle net rvsMH 1 http jsfiddle net rvsMH 1 但它不起作用并且没有获取数组或纬度 经度值 我不知道出了什么问题
  • jqgrid 在编辑框中选择不正确的下拉选项值

    我正在使用表单编辑 表单中有两个选择框 一个选择框是国家 地区 另一个选择框是州 州选择框取决于所选的国家 地区 并将动态填充 例如 Country 美国 期权价值 1 英国 期权价值 2 美国的状态 阿拉巴马州 选项值 1 加利福尼亚州
  • javascript中文本区域限制每行的字符数

    我试图用 javascript 限制文本区域中每行的字符数 我在这里看到了一些例子 但并不完全符合我的要求 我写了一些东西 只有当你每次添加超过限制时才可以 换句话说 我每行有 10 个字符的限制 如果你总是输入至少 10 个字符就可以正常
  • 解释 javascript 中的奇怪行为

    我在推特上看到了这个 我也无法解释 定义一个onload函数按以下两种方式工作 1 JSFiddle http jsfiddle net 6rq9k 2 JSFiddle http jsfiddle net 6rq9k 1
  • Google 文档 - 以编程方式将鼠标点击发送到大纲窗格中的项目

    在 Google 文档中 您可以打开大纲窗格并查看文档中的所有标题 您也可以单击标题 视图将滚动到标题 我的问题是如何使用 Chrome 扩展中的 JS 以编程方式模拟鼠标单击 以将视图滚动到所需的标题 我尝试了以下代码 但没有任何反应 u
  • 使用什么事件来在选择文本框中的值时显示警报消息

    我正在使用 jquery 的自动完成 api 来从数据库中获取名称 但是我想在从显示的文本框中选择名称时显示一条警报消息 我将显示一个图像以便更好地理解 当我输入 S 时 它将显示所有包含 S 的记录 所以问题是 如果我选择例如 Spars
  • Javascript:如何根据 html 标签扩展用户选择?

    乐代码 http jsfiddle net frf7w 12 http jsfiddle net frf7w 12 所以现在 当前的方法将完全按照 选择的方式获取所选文本 并添加标签 以便在显示时页面不会爆炸 但我想做的是 就是说 当用户选
  • 有什么方法可以在不重新加载的情况下更改标头 URL? [复制]

    这个问题在这里已经有答案了 可能的重复 修改URL而不重新加载页面 https stackoverflow com questions 824349 modify the url without reloading the page 使用新
  • JavaScript 逻辑赋值是如何工作的?

    在 javascript 中 如果我们有一些代码 例如 var a one var b q a alert b 逻辑 OR 运算符会将 a 的值分配给 b 并且警报将为 一 这仅限于作业还是我们可以在任何地方使用它 似乎空字符串被视为与未定
  • JQuery 可排序嵌套可排序 div

    这个问题与这个有关Nest jQuery UI 可排序 https stackoverflow com questions 19129476 nest jquery ui sortables 但我无法解决我的问题 问题是 我有一个包含项目的
  • 如何使用javascript隐藏div

    我想使用 Javascript 隐藏一个 div 下面是我的div div class ui dialog titlebar ui widget header ui corner all ui helper clearfix span cl
  • 在js中检测浏览器的最佳方法

    JavaScript 中有很多浏览器检测方法 据我所知 使用navigator userAgent或检测特征 例如XMLHttpRequest 等等 谁能告诉我哪种方法最好 最有效 如果你真的需要知道什么browser他们正在使用 你主要需
  • Hydrate with RTK Query 确实会抛出错误

    我有一个非常简单的组件来显示来自本地 API 的数据 使用 Nextjs API 路由制作 我使用 RTK 查询来获取数据 const api createApi reducerPath data baseQuery fetchBaseQu
  • apollo 客户端从存储中删除而不发生突变

    我需要通过 id 从本地存储中删除一条 记录 而不使用突变 因为服务器不支持突变 我尝试像这样手动访问商店 delete this apolloClient store getState apollo data 1112 这会删除记录 但是
  • 两个日期之间间隔 15 分钟 javascript

    问题 我需要将两个日期 时间戳之间的所有 15 分钟时隙 日期格式 2016 08 10 16 00 00 创建为 HH mm 格式的数组 其中分钟限制为 00 15 30 45 示例 中午 12 30 到下午 2 30 将 gt 12 3
  • 我将 X Y Z 坐标转换为屏幕 X Y 坐标有什么问题吗?

    我正在制作 3D 空间中弹跳的球体的 HTML5 Canvas 演示 这非常简单 每个球都有 X Y 和 Z 坐标 然后 这些坐标将转换为我在此处阅读的屏幕 X 和 Y 坐标 http answers google com answers
  • 如何在 JavaScript 中从代理对构造 UTF-16 字符?

    以下计算 Unicode 代码点的 UTF 16 代理对 戴着医用口罩的脸 https emojipedia org face with medical mask 但是如何从代理对构造字符以在字符串中使用呢 const codepoint

随机推荐

  • h264编码算法流程

    xh264编解码 编码层 视频压缩解压缩等核心算法 VLC就是这一系列算法 得到的是编码后的比特序列 即VLC数据 网络抽象层 将压缩后的原始码流拼接头信息用于解码时来识别 安排格式以方便后续的网络传输或者介质存储 将上一步VLC数据映射成
  • springboot集成Druid之后报错:discard long time none received connection. , jdbcUrl:jdbc:mysql://lo

    整合druid的配置 在pom xml中
  • 模拟域频率与数字域频率关系

    我的书 淘宝购买链接 当当购买链接 京东购买链接 数字频率于模拟频率互相转化的公式如下 2 f
  • JS中Promise对象及其使用方式

    聚沙成塔 每天进步一点点 专栏简介 什么是 Promise 对象 如何使用 Promise 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅 这个专
  • 前端性能优化之js优化

    文章目录 引言 一 浏览器加载js文件过程 二 浏览器加载js和图片的对比 三 浏览器加载js资源占总资源加载时间的比例 四 v8的编译原理概述 五 代码层面优化 提高V8编译效率 1 函数优化 1 减少函数大小和复杂度 2 避免使用动态特
  • java ats_ATS连接 https

    HTTPS协议是Http Over SSL 简单来说就是HTTP的安全版本 在HTTP的基础上增加SSL TLS加密传输协议 通过HTTPS加密传输和身份认证保证了传输过程的安全性 在登录网银和电子邮箱时 你会常常看到地址栏的网址显示HTT
  • 梦幻模拟战更新服务器正在维护,“梦幻模拟战2.0”更新维护公告

    欢迎来到梦幻模拟战2 0 史上最丰富的更新内容即将降临 梦幻模拟战 代中异星来客雷因法鲁斯 人气角色贝蒂加入战斗 等级上限全面突破 英雄和士兵能力已经觉醒 全新版本和精彩的冒险故事在前方等着你 服务器将于8月15日1 00进行更新维护 维护
  • 浅谈JDBC的理解(一)

    一 目录 二 概述 简述 JDBC是什么 JDBC英文名为 Java Data Base Connectivity Java数据库连接 官方解释它是Java编程语言和广泛的数据库之间独立于数据库的连接标准的Java API 根本上说JDBC
  • python安装maxmind库

    主要参考这个步骤https blog csdn net weixin 33757911 article details 85976603 utm medium distribute pc relevant t0 none task blog
  • 树与图的存储及遍历(分别①采用DFS深度优先遍历;②采用BFS宽度优先遍历)

    树与图的存储 树是一种特殊的图 只是在树中没有环 树是无环连通图 与图的存储方式相同 gt 因此只考虑图的存储即可 gt 图分为有向图和无向图 gt 对于无向图中的边a b 存储两条有向边a gt b和b gt a 即无向图就是特殊有向图
  • git+gerrit+jenkins+sonar 持续集成开发环境搭建

    1 安装git yum y install git 安装成功之后 git version 1 8 3 1 2 安装apache yum install httpd y service httpd start bin systemctl st
  • 腾讯云服务器搭建WordPress网站教程(全流程)

    已经有了腾讯云服务器如何搭建网站 腾讯云服务器网以腾讯云服务器 借助宝塔面板搭建Web环境 然后使用WordPress博客程序搭建网站 大致分为三步 首先购买腾讯云服务器 然后在腾讯云服务器上部署宝塔面板 最后在宝塔面板上安装WordPre
  • STM32CubeMx使用教程(五)—— 使用PWM控制蜂鸣器演唱孤勇者

    本章节将讲解如何使用STM32CubeMx配置定时器 并使用PWM控制无源蜂鸣器频率演奏 前言 1 软件准备 STM32CubeMx Keil5 MDK 2 硬件准备 STM32F103最小系统板 无源蜂鸣器模块 杜邦线若干 本实验所使用的
  • Linux高级实战部署专题篇:ansible自动化运维工具(lnmp自动化实战部署)

    一 ansible环境部署 环境 系统 centos7 主机 4台 1台控制节点 3台被控制节点 1 解析 四台本地解析都要互相做 root ansible 1 vim etc hosts 192 168 222 131 ansible 1
  • Loadrunner11破解详解 .

    使用说明 要以管理员的身份运行 1 正常安装完LR11后 然后双击deletelicense exe 2 然后解压替换其中的2个DLL文件拷贝到 C Program Files HP LoadRunner bin 下替换原有文件 3 进入L
  • anaconda激活环境和退出环境

  • Java面试汇总(四)

    url http www topDesignerStyling com color red size xx large u 最全的Java面试题目下载 u size color url 1 Which of the following li
  • 运行 Python 脚本时传入参数

    转载至 https blog csdn net helloasimo article details 124210144 为了在命令行运行 Python 脚本时传入参数的 采用的方法如下 import argparse if name ma
  • JVM-监控及诊断工具

    本文目录 命令行 jps 查看正在运行的Java进程 jstat 查看JVM统计信息 jinfo 实时查看和修改JVM配置参数 jmap 导出内存映像文件 内存使用情况 jhat JDK自带堆分析工具 jstack 打印JVM中线程快照 j
  • 题目爬取 js

    function collect 内容元素 const content document querySelector content 题目正则 const regexp d 题 n s S 参考答案 A Z 选项正则 const optio