网页JS自动化脚本(八)使用网页专属数据库indexedDB进行数据收集

article/2025/11/10 10:19:33
  • 我们在网页上进行的活动,往往都需要进行收集一些简单的数据,但是因为浏览器的安全原因,浏览器基本上是无法与本地的操作系统直接产生数据交互的,这本来就是一个由于安全问题生产的无解问题,在浏览器里面是内置了几种数据库的,其中一种就是indexedDB,可以用来储存一些非常小的数据字段, 我们按下F12打开可以看到,如下图就是我这一次想说的是一种直接利用当前网址的数据库的手段.
    请添加图片描述
  • 之所以说是当前网址,是因为indexedDB数据库本来就是为每个不同的网址分配的,它实际上就是服务器在用户电脑上的临时用地,也就相当于是租借地,有点像香港和澳门的性质,这块地被划给了服务器可以用来储存一些数据,操作的权限完全归这个网页所有
  • 所以我们可以利用这个专用数据库来储存固定页的数据,这次做一个收集热搜的功能,也就是每次打开页面,JS就会自动收集热搜词条,从上面的截图中,我们可以看到热搜中的一条被添加进了右侧的数据库当中,顶部就是一个弹窗的功能显示当前的数据库
  • 可以看到右侧的数据库中左侧#号是序号,而第二竖列是Key也就是关键词排序,右侧 value就是数据的具体内容了
  • 数据库的结构:indexedDB------>ShuJuKu----->BiaoGe 是这样子的三级关系,数据库----库名----表格名, 库名用来关联网址, 表格名用来区分同一个网址中的不同数据,也就是可以新建多个功能不同的数据表.
  • 下面上代码:
// ==UserScript==
// @name        New script - baidu.com
// @namespace   Violentmonkey Scripts
// @match       https://www.baidu.com/
// @grant       none
// @version     1.0
// @author      -
// @description 2023/5/29 下午2:12:47
// ==/UserScript==var time,reSou;//时间和热搜
var bd;//数据库
var show="";//要显示的内容window.onload=function(){var request = window.indexedDB.open('ShuJuKu',1);//更新数据库函数request.onupgradeneeded = function (event){db = event.target.result;var objectStore;if(!db.objectStoreNames.contains('BiaoGe')){objectStore = db.createObjectStore('BiaoGe',{keyPath:'TIME'});objectStore.createIndex('reSou','RS',{unique:false});alert('BiaoGe 首次创建成功');}}//打开数据库函数request.onsuccess = function (event) {db = request.result;show +='ShuJuKu  数据库打开成功\n';time=new Date().toLocaleString();  //获取当前时间reSou=document.querySelector("i.title-content-top-icon+span").innerText;  //获取热搜信息//在表格当中添加这两个数据db.transaction(['BiaoGe'],'readwrite').objectStore('BiaoGe').add({TIME:time,  RS: reSou});//执行游标函数收集所有的数据到show内readAll();//延时展示因为要等待数据库遍历函数执行完毕setTimeout(function(){alert(show);},500);}//游标遍历数据库function readAll(){var objectStore=db.transaction(['BiaoGe']).objectStore('BiaoGe');//游标成功打函数objectStore.openCursor().onsuccess=function(event){var item=event.target.result;if(show){show += item.value.TIME + item.value.RS + "\n";item.continue(); //继续执行(没有这行代码只能收集数据库的第一行信息)}}}
}
  • 我们先来看var request = window.indexedDB.open('ShuJuKu',1);这一句就是让浏览器直接打开一个名为ShuJuKu的数据库,后面的1就是数据库版本为1,执行这一行就会有多个结果,其中一个结果就是触发onupgradeneeded数据库更新,还有就是onsuccess数据库成功打开,那我们第一次访问的时候里面是没有这个数据库的,那也就是说版本为0或者是无效数据NULL,所以第一次就会触发onupgradeneeded这个函数,这个函数也是我们一定要实现的一个函数
  • 下面我们紧接着就来实现这个onupgradeneeded函数,重写的时候要带上event,因为主程序在调用的时候会传这个参数进来,db = event.target.result 从这一句获取一个数据库对象, 然后在db.objectStoreNames会返回数据表的数组,然后执行.contains('BiaoGe')判断内部是否个名称的表
  • 如果找不到这个表那就新建这个表db.createObjectStore('BiaoGe',{keyPath:'TIME'});里面的{keyPath:‘TIME’}用来确定关键排序关键词用的,主表就会以这个数据排序
  • 如果还有想用来配合查找的数据,就可以添加一个排序关键词objectStore.createIndex('reSou','RS',{unique:false});而里面的unique:false就是确定这个值在这一张大表里面是否可以重复,如果我们收集的信息男或者女那肯定会有重复对不对,如果收集的是时间,那肯定是没有重复的,在加上了这一行代码之后,我们的表格里就会多出一张以reSou为关键词的表,方便我们后期查找数据的时候使用这个数据进行定位

http://chatgpt.dhexx.cn/article/PGMeFVWt.shtml

相关文章

网页连接数据库,一个简单的登入界面以及实现登入功能

基于V#的ASP.NET.MVC 4 web 网站程序开发 接着上篇继续,上篇地址为https://blog.csdn.net/weixin_42534390/article/details/86576537 我们首先要有一个认知,就是ASP.NET.MVC 4 web 网站程序开发的三层架构概念,分别为BLL,DAL,MOD 这三层的概…

JavaWeb 网页链接数据库增删改查

今天是web的第五节课,上一节课只涉及到了查询和增加,这一节课我们学习网页链接数据库进行增删改查,今天的内容更多的也是代码,理论内容较少,现在小编带大家进入新的一课。 目录 一.查 二.增 三.删 四.修 五.数据库…

jsp登录注册代码(增删改查+网页+数据库)

目录 一登录注册代码以及效果 doregister.jsp:注册信息弹框 login.jsp:登录 dologin.jsp:与数据库相连、存放登陆的用户 index.jsp:主界面 update.jsp:修改 doup.jsp:修改页面(帮助) info.jsp:详情 dodel.jsp:删除界面 …

采集网页数据保存到MYSQL数据库

一、直接采集一个本地网页文件 1.创建一个网页文件date413.html(注&#xff1a;文件的路径后面还会用到) 2.网页文件date413.html中的内容为&#xff1a; <html> <head><title>搜索指数</title> </head> <body><table><tr>&…

用简单,易懂的方法将数据库和网页连接起来(例:登陆注册页面)

PHP技术&#xff0c;远比用java写代码连接数据库简单得多&#xff0c;下面看我的详细介绍&#xff1a; 1.首先要下载&#xff1a;phpstudy_pro&#xff08;关注我可以免费下载哦&#xff01;&#xff09; 2.然后打开phpstudy_pro&#xff0c;启动Apache服务器&#xff08;每次…

网页展示数据库内容

目的&#xff1a;写一个JSP访问Access数据库的user表&#xff0c;将所有的记录显示出来&#xff1b;ODBC数据源名为test&#xff0c;驱动类名为&#xff1a;“driverClassNamecom.mysql.jdbc.Driverr”&#xff0c;连接数据库的url为&#xff1a;”urljdbc:mysql://localhost:3…

[VS]网页连接数据库

工具&#xff1a; 1、Visual Studio(我使用的是vs2019) 2、SQL server(我使用的是sql2008) 3、网页运行框架&#xff1a;.Net2.0 目录 一、网站以windows身份验证连接数据库 二、网站以sql server身份验证连接数据库 三、使用工具Visual Studio中自带的连接数据库功能 一…

网页开发(十四)—数据库管理

书接上回&#xff1a; 7、MySQL指令 MySQL普通认知数据库文件夹数据表文件&#xff08;Excel文件&#xff09; 7.1 数据库管理&#xff08;文件夹&#xff09; &#xff08;1&#xff09;查看已有的数据库&#xff08;文件夹&#xff09;&#xff1a;show databases; &…

每周一品 · 音圈电机(VCM)中的磁性材料

音圈电机 (Voice coil motor, VCM) 是一种特殊形式的直驱电机&#xff0c;能将电能直接转化为直线运动机械能&#xff0c;其原理是在均匀气隙磁场中放入一个圆筒绕组&#xff0c;绕组通电产生磁场&#xff0c;带动负载设备做直线往复运动&#xff0c;改变电流的强弱和流向&…

VCM音圈马达的一些特点

VCM(Voice Coil Motor)&#xff1a;中文名称为音圈马达&#xff0c;亦称音圈电机&#xff0c;原理是在一个固定的磁场内&#xff0c;通过改变VCM线圈电流的大小&#xff0c;来控制VCM马达移动的位置&#xff0c;从而改变镜片之间的距离来达到对焦的功能。基本上在所有手机上均有…

vcm驱动芯片原理_每周一品 · 音圈电机(VCM)中的磁性材料

音圈电机 (Voice coil motor, VCM) 是一种特殊形式的直驱电机&#xff0c;能将电能直接转化为直线运动机械能&#xff0c;其原理是在均匀气隙磁场中放入一个圆筒绕组&#xff0c;绕组通电产生磁场&#xff0c;带动负载设备做直线往复运动&#xff0c;改变电流的强弱和流向&…

Camera基础知识

物理结构 一、手机Camerade的物理结构 FPC&#xff08;flexible printed circuit&#xff09;可挠性印刷电路板Sensor图像传感器IR红外i滤波片holder基座lens镜头 通常&#xff0c;一个摄像头硬件上包括5个部分&#xff1a;外壳&#xff08;马达&#xff09;、镜头&#xff…

MPEG VCM

传统是视频编码是针对人眼视觉进行优化的&#xff0c;目的是在保持人的主观失真不增加的情况下降低码率。而现在越来越多的视频需要进行机器分析&#xff0c;而人只需要看机器分析的结果。因此MPEG成立VCM&#xff08;Video Coding for Machines&#xff09;工作组探索新的标准…

VCM基本原理和主要性能指标

VCM(Voice Coil Motor)音圈马达是一种将电能转化为机械能的装置,实现直线型及有限摆角的运动,实现运动的力来源于通电线圈在磁场中受到的作用力。VCM 的精确控制需要通过外部的驱动IC 来实现。按功能分为开环VCM,中置VCM,闭环VCM,光学防抖VCM。 VCM(Voice Coil Motor)音…

camera基础知识(1)

目录 camera module 镜头lens 光圈快门 音圈马达VCM 滤光片 image sensor: 摄像头工作原理大致如下 camera作为android系统中庞大的一个模块之一&#xff0c;camera框架包含的知识十分多&#xff0c;作为一名camera工程师&#xff0c;我们不仅要熟悉代码&#xff0c;也要…

VCM绕线机的功能参数

VCM的全称是Voice Coil Motor&#xff0c;我们也叫音圈马达和音圈电机&#xff0c;是手机中比较常用的配件&#xff0c;也广泛应用于电脑、网络摄像头、扫描仪等&#xff0c;因为原理和扬声器类似&#xff0c;所以叫做音圈电机。它与我们常见的电机不一样&#xff0c;具有结构简…

【camera】1. 相机硬件组成

相机—光照测量设备 图像—辐射能量测量 Lens:镜头 VCM:音圈马达 IR Filter:滤光片 Sensor:感光元件CCD\CMOS, Substrate PCB:基片电路 DSP(option):数字信号处理器 ISP(option):图像信号处理器 CCD 电耦合器件 CMOS 互补性金属氧化物半导体 无论是ccd还是cmos都是光…

VCM驱动IC--close loop

VCM驱动IC&#xff1a; 正从幕后走向台前 作为与VCM&#xff08;音圈马达&#xff09;匹配的driver IC一直被产业链当做一个小器件&#xff0c;故而默默无闻&#xff0c;较少为人所认知和谈论。其实小小的driver IC&#xff0c;是摄像模组实现自动对焦功能不可或缺的一部分…

vcm驱动芯片原理_技术科普 | 一文了解音圈马达的驱动原理

原标题:技术科普 | 一文了解音圈马达的驱动原理 第11期 庄子云: “鲲之大,不知其几千里也。化而为鸟,其名为鹏。鹏之背,不知其几千里也,怒而飞,其翼若垂天之云。”大鹏鸟展翅高飞借助的是风带来的动力。 可见,在一个运转的系统中,动力是多么的重要。我们的手机摄像头系…

手机相机接口介绍

原文来自公众号&#xff1a;工程师看海 相机是手机中非常重要的模组之一&#xff0c;已成为智能手机的标配&#xff0c;其按布局可以分为前摄和后摄&#xff0c;按功能可以分为自拍相机、主相机、超广角、长焦和微距等。 不同功能的相机有不同功能的结构和电气特性&#xff0c;…