如何不编程用 ChatGPT 爬取网站数据?

敢于大胆设想,才能在 AI 时代提出好问题。

fdc12bf5008afb36be285b0500bdc3aa.jpeg

需求

很多小伙伴,都需要为研究获取数据。从网上爬取数据,是其中关键一环。以往,这都需要编程来实现。

可最近,一位星友在知识星球提问:

cd73564a8c5c2b5bfae233599bd75533.jpeg

这里涉及到一些个人隐私,我就打了码。他的意思很清楚:

第一,他不想编程;

第二,他要获取数据。

在以前,这基本上算是空想。但现在可就不一样了。我觉得敢于设想,是很必要的。这是个好问题

我之前在知识星球里就为你写过一篇相关的文章,叫做《如何用 ChatGPT 的 Advanced Data Analysis 帮你采集数据》。

b5f362837acb4b3b6ece3fe3ff7cd0a3.jpeg

ChatGPT 的 Advanced Data Analysis 模式(也叫做 Code Interpreter)可以自动编程并执行程序,曾经是数据分析的不二之选。好在现在我们有了更多选择。那篇文章对应的是一个活动网站的爬取(见下图),感兴趣的朋友 可以去看看。

c80672671da2ea6537febf2e2fb50c74.jpeg

只不过,当时这篇文章里,咱们处理的方式,还少不了跟技术打交道。例如你需要获取一些文本的路径信息。

时隔数月,我在想,现在是不是有更简单直接的方法来处理数据呢?

工具

我就到 OpenAI 的 GPTs Store 查看一番。

0431fea748e0e46be3b7fb3916561a2d.jpeg

这里汇集了许多人创造的各种 GPT 应用。你能想到的很多目标,都可以直接利用别人定制的 GPT 来完成,没必要重复发明轮子。咱们今天直奔主题,搜索 "Scraper"。

c6268284a9ba820683dddb7f8f1f66d3.jpeg

搜索结果中,我选择了排名第一的工具。你可以看到它的对话数量已经超过 1 万次,这是相当厉害的数据了。

c3615a21d729132dc0da89347a27e346.jpeg

从右上角的数据统计可以看出,Scraper GPT 的评分是 3.9 分,有 430 人参与评分。页面上还列出了一些默认问题,可以帮助你了解它的工作方式。我选择了第一个问题:「我如何从网站获取数据?」

295369575c3741235aad0070ea2a6b63.jpeg

根据回答,我们可以利用 Scraper GPT 获取三类不同的数据:文本、链接和图像。只需告诉 Scraper GPT 网站地址就可以抓取内容,非常简单。

目标

我们需要一个目标网站来进行抓取。本文我选择了我所在的天津师范大学管理学院数据科学系的 师资介绍页面。

6c941c42fe569d9701b9c81f01826b4c.jpeg

往下翻,你还能看见我,哈哈。

24e7a34fc2c8e35e41906cd612f59882.jpeg

目标网站准备好了,你把链接拷贝下来,就可以开始尝试了。

文本

把页面网址复制粘贴到Scraper GPT对话框,我首先请求它帮我抓取网页中的文本

9c490ced9b6fb95d186f2c757c018a9c.jpeg

很快,Scraper GPT 就把页面上所有文本都提取出来了,包括导航栏、页眉页脚等位置的文字,以及页面上每位老师的姓名、职称、联系方式等信息。

13fe3c4b4f834ebe16321ea20884e3c7.jpeg

最后 Scraper GPT 还表示,如果需要更进一步的信息,随时可以告诉它。真是服务态度一流。

243309b17cc5b08071630dfcc159010a.jpeg

怎么样?是不是不用编程,直接搞定文本获取?

图像

接下来咱们来试试获取网页中的全部图像。我把相同的网址发送过去,请求它抓取其中的图像。

c154bfe33ec9aeafb644832c7b07c428.jpeg

这次它一共找到了 12 张图片,但在对话界面里都无法正常显示

aab1d81e54ef31b19b2c55da316bf9ed.jpeg

起初我觉得很失望,但马上意识到它已经成功获取了图片链接。我把链接复制到了 Visual Studio Code 里面,你可以看看它抓取到的内容。

fe5d7fc6fa2b030cbfbc457102a439ed.jpeg

链接有了,如何正常显示呢?简单,咱们把所有内容复制到 Markdown 编辑器 Typora。你可以看到,所有老师的照片都依次展现出来了,很完美。

085ba9d8fd90b17d28c6ae1e6b9ee892.gif

链接

最后我要求Scraper GPT提取页面中的所有链接

e6d77a9328edb872de630c9365829629.jpeg

从结果可以看出,Scraper GPT 找到了导航栏、学院简介等页面链接,以及三位老师的个人主页链接。

0cb551a3c49ef35422d150e26c45e06a.jpeg

我觉得这个结果并不完整。不过仔细一看 Scraper GPT 自己已经表示,这「只是链接的一部分」。如果我需要某个特定区域的链接,尽管告诉它。

那我就不客气了,指明它需要给我显示所有「教师」部分的链接。

4d45ce0e3fad7506baf9caa3f153ad04.jpeg

于是全系所有 9 个老师的页面链接就都出现了。

8ada9bcdfb475391a3adce8a87d13a61.jpeg

我把抓取到的链接内容复制到编辑器中,你可以清楚地看到每个链接。

e4428e8bd1196480402728da9483c6e3.jpeg

当然了,你一般不会满足于只获得某个网页上的内容,而是希望「顺藤摸瓜」。没问题,链接在手,你可以进一步要求Scraper GPT访问这些链接,抓取二级页面的内容。

深入

这里我以 翟羽佳老师的个人主页举例。

e84038bdf1920e84009d5f2b835e4aef.jpeg

进入页面后,你可以看到翟老师的个人介绍、学术成果、研究课题等丰富信息。我用提示词让 Scraper GPT 把页面文本提取出来。

15365160f08cf8d51ed2ca6df11fb38d.jpeg

Scraper GPT 把翟老师的职称、联系方式、研究领域等内容都抓取到了。

3640b4705985ef71c3f95111222d0d38.jpeg

更进一步还抓取了翟老师的教育背景、工作经历、研究生指导等。

c8d8e601ee585c98255fd7f6f37160c5.jpeg

在翟老师的个人主页上,这些信息位于默认页面底部。

deb98c067329c987b06778a1771de5ab.jpeg

但对于那些需要点击展开才能看到的内容,比如学术成果、研究课题、讲授课程等,Scraper GPT 则没能捕捉到具体内容。

26b47096165c77a58657335de109fb86.jpeg

我要求 Scraper GPT 抓取学术成果这个部分。

02932b6411811feb4859df35eb0bf052.jpeg

结果 Scraper GPT 表示,无可奈何。

764bf842cd6b6c2cc6a7fe1b16830333.jpeg

翻译过来就是:

之前提供的内容没有具体说明翟羽佳老师的「学术成果」部分的详细信息。看来这一部分的具体细节没有包含在抓取的文本中。这可能是由于网站内容的布局或动态加载方式造成的,单次抓取可能无法准确捕捉某些特定部分的详细信息。

如果您需要这一部分的详细信息,我建议您直接访问该网页。如果还有其他我可以协助您的地方,请告诉我!

我自己手动查找到翟老师学术成果第一条的 xpath 链接。

48517ea86b992a27d067b8057809f7ab.jpeg

然后我把这个 xpath 地址扔给了 Scraper GPT 。但是它还是告诉我,这些它处理不了。

ff8f476b5ab966d20d346cc501371e71.jpeg

翻译过来,就是:

我无法直接执行或解释 XPath 查询,也无法像浏览器或支持 JavaScript 的专用网页抓取工具那样与网页进行交互。我的能力集中在处理页面由服务器提供的静态内容中的文本、链接或图像,而不是在客户端脚本运行之前。

如果有 JavaScript 生成的内容或信息是动态加载的,我可能无法直接通过简单的抓取访问到它。对于动态加载的内容或需要交互或特定查询 (如 XPath) 的部分,我建议使用专门设计用于动态网页抓取的工具,如 Selenium 或 Puppeteer,它们可以像浏览器一样与网页的 DOM 进行交互。

但是,如果您需要的信息可以通过网页的静态 HTML 访问,请随时提供网址并描述您感兴趣的信息,我会尽力帮助您!

这样看来,如果你希望抓取动态网页内容,恐怕目前 Scraper GPT 无能为力,或许你还真的无法摆脱编程的必要步骤。

小结

通过咱们的演示你可以看出,这款名叫 Scraper 的 GPT 工具非常方便好用。文本、图片、链接这些信息类型,Scrapper GPT都可以根据你提供的链接轻松获取。因为有了链接,你还可以进一步抓取二级页面的信息。重要的是,整个过程完全不需要编程

当然Scraper GPT也有局限性,就是无法准确处理动态网页的内容。对于这些高阶操作,你目前可能还是需要借助 Selenium 等工具,通过编程来实现。但是我相信,随着 AI 能力的进一步提升,以及应用集成度的改进,这些强烈的用户需求,应该在不久后就有免费便捷的工具可以满足了。生活在这样一个人工智能快速进展的时代,真的很容易激动啊。

点赞 +「在看」,转发给你身边有需要的朋友。收不到推送?那是因为你只订阅,却没有加星标

欢迎订阅我的小报童付费专栏,每季度更新不少于10篇文章。订阅一整年价格优惠。

ea8670bd67e2f126db064af30631e063.jpeg

如果有问题咨询,或者希望加入社群和热爱钻研的小伙伴们一起讨论,订阅知识星球吧。不仅包括小报童的推送内容,还可以自由发帖与提问。之前已经积累下的帖子和问答,就有数百篇。足够你好好翻一阵子。知识星球支持72小时内无条件退款,所以你可以放心尝试。

01486d3d878aa086374978881cd836f6.jpeg

若文中部分链接可能无法正常显示与跳转,可能是因为微信公众平台的外链限制。如需访问,请点击文末「阅读原文」链接,查看链接齐备的版本。 

延伸阅读

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

  • 如何不编程,采集网站评论信息?(视频教程)

  • 如何用 Python 爬数据?(一)网页抓取

  • 如何用 ChatGPT 帮你自动分析数据?

  • 如何用 ChatGPT 一句话生成 Web 应用?

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

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

相关文章

Redission--布隆过滤器解决缓存穿透问题

布隆过滤器在缓存穿透问题中的使用 布隆过滤器的核心是一个位数组 布隆过滤器的误判 使用Redission的布隆过滤器步骤 添加 Redission 依赖:首先需要将 Redission 添加到你的 Java 项目中,你可以通过 Maven 来添加 Redission 的依赖。 创建 Redissio…

深度学习相关知识

一.环境配置 1.cuda/cudnn安装: 安装cuda之前首先安装vs,vs版本从低到高安装。 a) 安装cuda:首先查看显卡支持的最高CUDA的版本,以便下载对应的CUDA安装包; cmd命令行:nvidia-smi,显示如下:…

【单片机】CJSH22-CH2O,甲醛传感器,甲醛传感器数据读取处理

原理图 解析程序 逻辑是: 1、初始化串口和定时器10ms中断 2、循环读取一帧数据到rev_CH2O_bufferdata 3、在主函数解析数据rev_CH2O_bufferdata 4、最终的pm2.5数值就是CH2O_value 使用CH2O_value的数据即可。 PPB单位,除以1000就是ppm,再…

ASP.NET Core 模型绑定

🍀介绍 在C#中,特别是在ASP.NET Core中,模型绑定是一个将HTTP请求中的数据映射到C#对象的过程。它使得开发者能够方便地从请求中提取数据,而无需手动解析请求体、查询字符串、路由数据等。ASP.NET Core提供了多种特性&#xff08…

C语言 | Leetcode C语言题解之第13题罗马数字转整数

题解: 题解: int romanToInt(char* s) {int symbolValues[26];symbolValues[I - A] 1;symbolValues[V - A] 5;symbolValues[X - A] 10;symbolValues[L - A] 50;symbolValues[C - A] 100;symbolValues[D - A] 500;symbolValues[M - A] 1000;int a…

迷茫下是自我提升

长夜漫漫,无心睡眠。心中所想,心中所感,忧愁当前,就执笔而下,写下这篇文章。 回忆过往 回想当初为啥学前端,走前端这条路,学校要求嘛,兴趣爱好嘛,还是为了钱。 时间带着…

爬虫 新闻网站 以湖南法治报为例(含详细注释,控制台版) V3.0 升级 自定义查询关键词、时间段、粗略判断新闻是否和优化营商环境相关,避免自己再一个个判断

目标网站:湖南法治报 爬取目的:为了获取某一地区更全面的在湖南法治报的已发布的和优化营商环境相关的宣传新闻稿,同时也让自己的工作更便捷 环境:Pycharm2021,Python3.10, 安装的包:requests&a…

【微信小程序】【小程序样式加载不出来】

微信小程序配置sass 第一步:找配置文件 在项目中找到 project.config.json文件,在setting属性中添加 useCompilerPlugins属性,值为sass即可,若是 less,将数组里面的值改为less即可 "useCompilerPlugins": ["sas…

HAL STM32主从定时器联级使用

HAL STM32主从定时器联级使用 具体介绍参考STM32参考手册 🌿主从定时器联级:使用一个定时器作为另一个定时器的预分频器。 🍁时钟关系: 🌿TIM1 和TIM8 控制寄存器 2(TIMx_CR2)相关位: 🔖主…

每日OJ题_优先级队列_堆④_力扣295. 数据流的中位数

目录 力扣295. 数据流的中位数 解析代码 力扣295. 数据流的中位数 295. 数据流的中位数 难度 困难 中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr [2,3,4] 的中位数是 3 。例如 arr…

AI大语言模型GPT —— R 生态环境领域数据统计分析

自2022年GPT(Generative Pre-trained Transformer)大语言模型的发布以来,它以其卓越的自然语言处理能力和广泛的应用潜力,在学术界和工业界掀起了一场革命。在短短一年多的时间里,GPT已经在多个领域展现出其独特的价值…

电商技术揭秘八:搜索引擎中的SEO内部链接建设与外部推广策略

文章目录 引言一、 内部链接结构优化1.1 清晰的导航链接1. 简洁明了的菜单项2. 逻辑性的布局3. 避免深层次的目录结构4. 使用文本链接5. 突出当前位置6. 移动设备兼容性 1.2 面包屑导航1. 显示当前页面位置2. 可点击的链接3. 简洁性4. 适当的分隔符5. 响应式设计6. 避免重复主页…

Windows11下Docker使用记录(二)

Docker使用记录(二) 1. 常用指令2. Dockerfile示例3. 构建docker image Docker中container,image,dockerfile 以及docker hub的关系如图所示,详细可见上一篇帖子。 本文主要记录Dockerfile相关。 1. 常用指令 常用指令…

索引总结(2)

013 为什么官方建议使用自增长主键作为索引?(说一下自增主键和字符串类型主键的区别和影响) 自增主键能够维持底层数据顺序写入读取可以由b树的二分查找定位支持范围查找,范围数据自带顺序 字符串无法完成以上操作 014 使用int…

重装系统之后,电脑连网卡都没反应怎么办?

前言 有些电脑比较奇葩,安装完成之后会出现网卡连驱动都没有,这时候要安装电脑驱动可是真的烦躁。怎么下手呢? 如果确定电脑的网卡型号还好,直接找个电脑下载个对应的网卡驱动,用U盘复制过去就能安装。 但如果不知道…

X服务器远程连接问题解决:Bad displayname ““‘或Missing X server or $DISPLAY

X服务器远程连接问题 报错1 ImportError: this platform is not supported: (failed to acquire X connection: Bad displayname "", DisplayNameError()) Try one of the following resolutions: * Please make surethat you have an X server running, and that …

SQL语句的编写

##创建用户-建表建库 #创建一个用户名为 feng,允许从任何主机 % 连接,并使用密码 sc123456 进行身份验证的用户。 rootTENNIS 16:33 scmysql>create user feng% identified by sc123456; Query OK, 0 rows affected (0.04 sec) #创建一个名为fen…

BUUCTF:BUU UPLOAD COURSE 1[WriteUP]

构造一句话PHP木马 <?php eval(system($_POST[shell])); ?> 利用eval函数解析$shell的值使得服务器执行system命令 eval函数是无法直接执行命令的&#xff0c;只能把字符串当作php代码解析 这里我们构造的木马是POST的方式上传&#xff0c;那就用MaxHacKBar来执行 …

【vite】-【vite介绍】-【vite的基础应用】-【vite的高级应用】-【

目录 vite介绍vite的基础应用vite创建项目vite创建vue3项目vite创建vue2项目vite创建react项目 vite中使用css的各种功能vite中使用tsvite中处理静态资源的方法vite集成eslint和prettiervite中的env环境变量 vite的高级应用 vite介绍 一、特点&#xff1a; 开发时效率极高开箱…

Day:004(1) | Python爬虫:高效数据抓取的编程技术(数据解析)

数据解析-正则表达式 在前面我们已经搞定了怎样获取页面的内容&#xff0c;不过还差一步&#xff0c;这么多杂乱的代码夹杂文字我们怎样 把它提取出来整理呢&#xff1f;下面就开始介绍一个十分强大的工具&#xff0c;正则表达式&#xff01; 正则表达式是对字符串操作的一种…