傻瓜式提取网页数据的油猴脚本(JavaScript 代码)

news2024/11/23 16:40:08

目录

一、脚本适用范围

二、将脚本配置到浏览器

三、脚本用法

四、脚本原理


一、脚本适用范围

脚本适用范围:一次性提取任意网站的布局类似的数据,例如 淘宝的商品价格、微博的热搜标题、必应搜索的图片链接

脚本不适用范围:页面布局不相似的数据。如下图圈出了两种样式的数据,不能一次性提取,需要手动分两次提取。

二、将脚本配置到浏览器

步骤:

(1)浏览器安装Tampermonkey(中文名 油猴、篡改猴)(可参考:油猴(Tampermonkey)安装教程-CSDN博客)

(2)JavaScript 代码保存到 Tampermonkey (中文名 油猴、篡改猴)中(可参考:)

(3)之后每次打开任意一个网页,浏览器页面右下角会出现三个输入框和一个按键,如下图

三、脚本用法

步骤:

(1)从类似的数据中选择两条,拷贝它们的 xpath 粘贴到脚本生成的前两个输入框中

(2)填入数据对应的标签的属性名称到第三个框中,如果不填,则提取标签体的文本(innerText)

(3)点击提取数据,会出现弹窗,说明结果。提取出的数据以及拷贝到了粘贴板,直接Ctrl+V即可粘贴

四、脚本原理

如果元素样式类似,则它们在HTML源码的标签树路径应该是类似的(xpath路径就是寻找元素的一种方式)。

给定两个xpath:

/html/body/div[1]/div[1]/div[2]/div[3]/div/div/div[14]/div/div/div/div/span[2]/span[1]

/html/body/div[1]/div[1]/div[2]/div[3]/div/div/div[17]/div/div/div/div/span[2]/span[1]

找出它们的数字差异,删除,得到的xpath即可匹配页面中所有类似的元素

/html/body/div[1]/div[1]/div[2]/div[3]/div/div/div/div/div/div/div/span[2]/span[1]

再给出需要提取的数据在标签中对应的属性名称,就可以提取出需要的数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1220379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

协同办公是什么?如何高效协同办公?读这篇就够了!

协同办公是指在工作中,团队成员通过共享信息、协作完成任务,实现高效的工作方式。它有助于促进团队成员之间的沟通、合作和协调,提升工作效率和质量。以下是一些实现高效协同办公的建议和好用的工具推荐。 首先,建立清晰的沟通渠…

单稳态中间继电器\UEG/A-2H/220V 8A导轨安装 JOSEF约瑟

UEG系列中间继电器 UEG/A-2H2D中间继电器UEG/A-4H4D中间继电器UEG/A-2D中间继电器 UEG/A-2H中间继电器UEG/A-4H中间继电器UEG/A-4D中间继电器 UEG/A-6H中间继电器UEG/A-6D中间继电器UEG/A-8H中间继电器 UEG/A-10D中间继电器UEG/A-10H中间继电器UEG/A-2DPDT中间继电器 UEG/A-4DP…

C#学习相关系列之Linq用法---where和select用法(二)

一、select用法 Linq中的select可以便捷使我们的对List中的每一项进行操作,生成新的列表。 var ttlist.select(p>p10); //select括号内为List中的每一项,p10即为对每一项的操作,即对每项都加10生成新的List 用法实例: 1、la…

[pybind11] debug C++代码

首先要有一个项目,我发布在github上了【传送门】 项目的结构如下: 其中src目录下是C代码,test.py是python测试代码。 然后直接开始演示。 1、把项目下载到本地 git clone --recursive https://github.com/immortalmin/pybind11_debug_eg.g…

【论文解读】GPT Understands, Too

一.论文 1.1 P-tuning 区别于之前的工作,这篇工作认为promote可以在句子中的任意位置起到作用,可以将它们插入上下文或目标中 上图中,左图是不使用任何操作,右图是选择在居首和目标前插入promote的embedding,插入pro…

leetcode刷题日记:168. Excel Sheet Column Title(Excel表列名称)

我不知道你看到这一道题目有什么感觉,我先告诉你我有什么感觉,在此之前我再给你写一组有相同模式的数字。 你先告诉我你有什么感觉,有没有感觉,没有感觉的话,那我们就来更深的了解一下: 我们分析最后一…

Linux中的进程终止(详解)

Linux中的进程终止 1. 进程退出场景2. 进程常见退出方法2.1 _exit函数2.2 exit函数2.3 return退出 1. 进程退出场景 代码运行完毕,结果正确代码运行完毕,结果不正确代码异常终止 2. 进程常见退出方法 正常终止(可以通过 echo $? 查看进程…

井盖位移监测,智能井盖智慧监测方式

在推动城市向智能化和高效化方向发展的过程中,科学技术发挥着至关重要的作用。智能井盖传感器作为科学技术进步的产物,正逐渐在城市管理过程之中崭露头角。这些看似不起眼的设备,虽然隐藏在井盖下方不被人们看到,但实实在在为人民…

如何快速下载mysql的不同版本并启动mysql服务?

如何快速下载mysql的不同版本并启动mysql服务? 下载mysql的安装版本 首先我们要使用到迅雷去下载,因为迅雷下载是很快的。在迅雷里面搜索下面的Mysql Installer安装窗口,如下图: 连接:https://dev.mysql.com/downlo…

OpenAI GPT5计划泄露

OpenAI的首席执行官萨姆奥特曼在最近接受《金融时报》的专访时,分享了OpenAI未来发展的一些新动向。此外,他还透露了关于即将到来的GPT-5模型以及公司对AGI的长期目标的一些细节。 奥特曼指出: 1.OpenAI正在开发GPT-5,一种更先进的…

Stable Diffusion进阶玩法说明

之前章节介绍了Stable Diffusion的入门,介绍了文生图的魅力,可以生成很多漂亮的照片,非常棒 传送门: Stable Diffusion新手村-我们一起完成AI绘画-CSDN博客 那我们今天就进一步讲讲这个Stable Diffusion还能做些什么, …

AOSP编译系统演进:从Make到Ninja的技术升级(Android13)

AOSP编译系统演进:从Make到Ninja的技术升级(Android13) 引言 在Android 7.0之前,Android的编译系统主要使用GNU Make和Android.mk进行构建规则的描述和执行。然而,随着项目规模的扩大,Makefile组织方式导致了编译时间的增长等问…

C#学习相关系列之Linq常用方法---排序(一)

一、构建数据 public class Student_1{public int ID { get; set; }public string Name { get; set; }public int Chinese { get; set; }public int Math { get; set; }public int English { get; set; }public override string ToString(){return string.Format("ID:{0},…

Linux输入设备应用编程(触摸屏获取坐标信息)

上一章学习了开发板外接键盘并获取键盘的的输入 Linux输入设备应用编程(键盘,按键)-CSDN博客 本章编写触摸屏应用程序,获取触摸屏的坐标信息并将其打印出来 一 触摸屏数据分析(触摸,点击,松开…

进程控制3——进程程序替换

进程的创建有fork,进程的退出有main函数的return,exit,_exit函数 而进程的退出中,一个进程的退出只能有三种情况,退出成功结果对/不对,或者是运行异常收到信号终止 但是我们发现我们用代码创建的子进程它是…

直击虎牙Q3财报:转身出击,一场应对不确定性的新战事

世界上唯一不变的,就是变化。 今年上半年,中国游戏市场销售仍在同比下降,游戏版号和行业政策都在趋严,游戏直播行业仍有较多不确定因素。延续过去的老路子,挖掘新的增量空间有限。 不过也要看到,行业出现…

geoserver的ECQL查询

ECQL Reference — GeoServer 2.24.x User Manual CQL and ECQL — GeoServer 2.24.x User Manual ECQL是CQL的扩展,类似sql查询,比ogc的xml格式简单,可以应用在wfs和wms查询上。 通过可视化页面查看过滤效果,默认视图 主键不会…

Spring Task单机定时任务(使用及阻塞问题解决)

一、介绍 SpringTask是Spring自主研发的定时任务工具,并且存在于Spring体系中,不需要添加任何依赖 Spring Boot 默认在无任何第三方依赖的情况下使用 spring-context 模块下提供的定时任务工具 Spring Task。 我们只需要使用 EnableScheduling 注解就可…

upload-labs关卡11(双写后缀名绕过)通关思路

文章目录 前言一、回顾前几关知识点二、靶场第十一关通关思路1、看源代码2、bp抓包双写后缀名绕过3、检查文件是否成功上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的…

基于springboot实现疫苗接种管理系统项目【项目源码】计算机毕业设计

基于springboot实现疫苗接种管理系统演示 Java语言简介 Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的…