如何用 ChatGPT 的 Advanced Data Analysis 帮你采集数据?

(注:本文为小报童精选文章,已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费

想采集网页数据却不会写 Python 爬虫?不会就不会吧,ChatGPT 会就可以了 😂

0e84b9e77fa812b08e2ab1e2dbc93b87.jpeg

问题描述

朋友最近遇到了一点儿技术障碍,找我帮忙。起因是他想获取一个网站上面的信息。

一般网站的信息,获取起来并不麻烦。怕就怕这种网站 —— 活动通知。

27503cf2d5f659e68a7d90d380567530.jpeg

要知道,过期的活动,是没有什么「通知」的意义的。所以网站对于过期活动的态度比较明确 —— 直接删掉。所以主页面的内容,是每天甚至每个小时都会改变的。

刚才的图片,是今天早上网站的内容,而下面这个是前几天他保存的页面存档内容。

ef5b9d7d71b19f785992e3f1c9d84bd3.jpeg

他发现不仅主页上面活动列表里过期活动信息找不到了,就连存档里过期活动的链接也全都点不开了。

痛定思痛,他决心干脆每天把当日的活动信息都弄下来。可是他又不懂 Python 爬虫技术。每天分别手动摘取活动的名称、日期、时间、地点、URL,以及还得打开对应 URL ,拷贝其中的活动描述正文内容,实在是太麻烦了。

一天两天还好说,如果要坚持一年,那可就是愚公移山的精神了……

所以,他找我求助。

这种事儿吧,「会者不难难者不会」。我虽然曾经写过简单的爬虫教程,但是也已经很久没有摸索了。现在不仅手生,也没有时间去对要提取的各项信息一一定位、抽取,觉得太过繁琐。

好在,咱们不是有 ChatGPT 吗?

本文我就给你演示一下,如何用 ChatGPT 来帮助咱们从网页上把想要的信息抽取出来。

脾性

ChatGPT 的每一个模式,都有自己的「脾性」。其中 Advanced Data Analysis 的脾性,重要的是以下两点:

  • 无法联网。所以你不要指望它能够获得最新的 API ,也不要希望它能够帮你下载任何东西。这里「任何东西」当然包括网页,也包括 ChatGPT 的 Advanced Data Analysis 模式虚拟机中未安装的软件包。很多读者反馈给我,说是 scikit-learn 机器学习框架在 Advanced Data Analysis 里面能用,但是 Tensorflow 不能用,也装不上。就是这个原因;

  • 能上传数据。你可以把数据直接喂给它。这样它在进行分析的时候,可以有非常强烈的上下文。

这里我们着重说说第二点。假设我们让 ChatGPT 「去,帮我把一个网页中的日期、时间、地点、活动名称、URL 爬取下来」,它因为啥都看不到,多半会根据经验,给你胡写一个根本不能用的结果。而对于一个输入数据文件作为样例,情况就会好很多。

只不过,网页里面一般也有很多内容。与其让 ChatGPT 帮你在文件里面瞎猜乱试,然后需要你参与进来不断纠错,还不如一上来你就把真正需要查找的内容以样例方式精确清楚传递给ChatGPT。而且是越清楚越好

下面,我就来给你演示,怎么把内容样例的精确定位获取到,并且传递给 Advanced Data Analysis 。

你看,这是我下载的活动日程通知主页面的例子。

3ef2027137328736927168b2fa230f58.jpeg

你可以在浏览器里面 Inspect (检视)页面的源码。

40f78270b2a9c8dbd1a2c9cbfef318d2.jpeg

这里,你可以通过区域选择按钮,让浏览器帮忙定位到选定区域对应的源代码位置。

b36ada5d35762266b661f0db2f0f33a5.jpeg

操作效果就像这样:

9138f6591d5ffc69a60a289f2ca4d5f0.gif

然后,你就可以用这种方式,拷贝具体文本段落的 xpath 。

我分别拷贝了某个活动对应的时间、地点、URL 等信息。然后连同这个 HTML 文件,一股脑扔给了 Advanced Data Analysis。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网Java工程师面试题·Java 并发编程篇·第五弹

目录 52、什么是线程池? 为什么要使用它? 53、怎么检测一个线程是否拥有锁? 54、你如何在 Java 中获取线程堆栈? 55、JVM 中哪个参数是用来控制线程的栈堆栈小的? 56、Thread 类中的 yield 方法有什么作用? 57、…

jwt详细介绍

jwt详细介绍 1.jwt 简介:2.jwt 工具类介绍3.案列演示:3.1并在web.xml进行配置过滤器 3.2过滤3.3全局响应设置 1.jwt 简介: 。JWT(JSON Web Token) 是一种用于安全传输信息的开放标准(RFC 7519)…

ue5打包失败与优化项目

打包报错: PackagingResults: Error: Multiple game targets found for project. Specify the desired target using the -Target... argument. 解决方案: 关闭项目后,删除项目目录下的 Intermediate 文件 再重新启动项目打包即可 参考&…

Linux实现原理 — I/O 处理流程与优化手段

Linux I/O 接口 Linux I/O 接口可以分为以下几种类型: 文件 I/O 接口:用于对文件进行读写操作的接口,包括 open()、read()、write()、close()、lseek() 等。 网络 I/O 接口:用于网络通信的接口,包括 socket()、conne…

buuctf week2-web-ez_sql

闭合之后尝试判断字段数,存在WAF,使用大小写绕过(后面的sql语句也需要进行大小写绕过) ?id1 Order by 5-- 测出有5列 ?id1 Order by 6-- 查一下数据库名、版本、用户等信息 ?id1Union Select database(),version(),user(),4,…

关于Vue+webpack使用unocss编写CSS,打包后CSS没加前缀

关于Vuewebpack使用unocss编写CSS,打包后CSS没加前缀,封装了一个插件去解决了这个问题 unocss-postcss-webpack-plugin unocss在vite中使用配置,关于unocss在vite中使用,自行查阅官网 https://unocss.dev/integrations/vite ,vi…

最详细STM32,cubeMX 点亮 led

这篇文章将详细介绍 如何在 stm32103 板子上点亮一个LED. 文章目录 前言一、开发环境搭建。二、LED 原理图解读三、什么是 GPIO四、cubeMX 配置工程五、解读 cubeMX 生成的代码六、延时函数七、控制引脚状态函数点亮 LED 八、GPIO 的工作模式九、为什么使用推挽输出驱动 LED总结…

鲲山科技:引入和鲸 ModelWhale,实现量化策略的高效迭代

量化投资是数据科学在金融行业的应用。 2023 年,量化行业的超额收益开始收敛,量化私募如何形成自身核心竞争力? 和鲸拜访客户鲲山科技(深圳),揭示其“弯道超车”的独家秘诀。 群体作战 年初至今&#xff…

idea中导入eclipse的javaweb项目——tomact服务(保姆级别)

idea中导入eclipse的javaweb项目——tomact服务(保姆级别) 1. 导入项目2. Project Settings下的各种配置步骤2.1 检查/修改 jdk 的引入2.2 配置Modules-Dependencies2.2.1 删掉eclipse相关的多余配置2.2.2 删掉jar包2.2.3 添加tomcat的依赖 2.3 配置Libr…

JMeter定时器

一. 同步定时器(Synchronizing Timer) (在Loadrunner中叫做集合点) 思考: 如何模拟多个用户同时抢一个红包?如何测试电商网站中抢购活动、秒杀活动? 1.1 介绍 Sync Timer的目的是阻塞线程,直…

云原生SIEM解决方案

云原生(Cloud Native)是一种基于云计算的软件开发和部署方法论,它强调将应用程序和服务设计为云环境下的原生应用,以实现高可用性、可扩展性和灵活性。 云原生的优势有哪些 高可用性:云原生可以实现应用程序的高可用…

分享一下便利店怎么做微信小程序

便利店微信小程序开发,让生意更便捷! 在这个数字化时代,微信小程序已经成为一种新的生活方式。它不仅改变了人们的消费习惯,还为各行各业提供了无限商机。对于便利店来说,微信小程序是一个绝佳的营销工具,…

汉诺塔问题

汉诺塔问题 本文部分截图来源:汉诺塔可视化小游戏 移动最终目标:将A柱中的所有盘移动至C柱 移动过程要求:1.每次只能移动一个盘 2.每次移动后必须保证小盘在大盘上方 问题简化 我们先将三个盘(n-1,n4)看作…

微信小程序clearInterval无法关闭时间间隔器问题解决

今天在微信小程序遇到了一个问题 我的代码是这样的 // 关闭动画函数 AnimationOff() {//定义时间间隔器clearInterval(this.animationTimer) }, DefineAnimation() {//定义时间间隔器this.animationTimer setInterval(() > {console.log("执行");}, 1000) },但是…

C++ - git 命令行

为什么要有 git 你很可能遇到过这种情况,在写项目的时候,要我不符合 leader 的要求,因而修改了很多个版本,但是修改到最后一版的时候,leader 有觉得当前这版还没有之前 某一版好,现在又要求你在 之前的那一…

MyBatis基础之自动映射、映射类型、文件注解双配置

文章目录 自动映射原理jdbcType同时启用配置文件和注解两种配置方式 自动映射原理 在 MyBatis 的配置文件(settings 元素部分)中,有一个 autoMappingBehavior 配置,其默认值为 PARTIAL ,表示 MyBatis 会自动映射&…

Spring实战 | Spring AOP核心秘笈之葵花宝典

Spring实战系列文章: Spring实战 | Spring IOC不能说的秘密? 国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆…

SpringBoot日志文件

目录 日志级别 设置日志级别 日志持久化 获取日志的两种方式 1.LoggerFactory.getLogger(类名.class) 2. lombok的slf4j注解和log对象 日志级别 由低到高依次是:trace->debug->info->warn->error->fatal 其中当程序里设置了日志级别后,程…

实验3:左右循环LED灯

获取流水灯工程: 方式一: keilproteus 完成最小系统,点亮led 灯实验_吴小凹的博客-CSDN博客 方式二: Flowing_led.zip - 蓝奏云直接下载。 原理图修改: 无须修改只需要使用流水灯的工程即可,解压到桌面…

记一次Hbase2.1.x历史数据数据迁移方案

查看待迁移的表 list_namespace_tables vaas_dwm2. 制作待迁移表“DWM_TRIP_PART”的快照 snapshot vaas_dwm:DWM_TRIP_PART,dwm_trip_part_snapshot3. 统计待迁移表数据总数 hbase org.apache.hadoop.hbase.mapreduce.RowCounter vaas_dwm:DWM_TRIP_PART