如何使用ChatGPT进行Web爬虫,使用插件和代码解释器
使用chatgpt code interpreter及其插件进行网络爬虫的详细指南。
如果您不想创建一些新奇的东西,那么您很可能需要一些先决信息才能开始。或者,您可能想研究有价值的输入竞争情况。此外,有很多原因让人们对特定网站的内容感兴趣。
网络爬虫就是为此类用例提供服务的过程。
有几种方法可以做到这一点。您可以订阅一些重量级工具,以便专业地爬取大型网站。或者,您可能需要特定的设置进行内部处理。
无论哪种方式,对于初学者来说,这种方法对于爬取几个网页来说都是昂贵、耗时且繁琐的。
chatgpt用于网络爬虫的概述
我不应该向您介绍chatgpt。是吗?
简而言之,chatgpt是一个像人类一样回答问题的生成ai。您可以使用聊天界面来要求它完成各种任务,例如查询历史事件、写作、摘要、翻译、编码等。
chatgpt以文本形式回复。然而,有一些chatgpt插件可以以许多方式增强其功能。我们将使用其中一个插件。此外,我们将使用其代码解释器来爬取具有复杂网页结构或具有主动反爬虫协议的网站。
请注意,chatgpt有免费和付费版本。但是,您需要购买付费订阅(目前每月20美元)才能使用网络爬虫插件或其代码解释器引擎。
在后续章节中,我将逐步说明整个过程。
免责声明:在自行进行之前,请确认所述的网站允许爬取其内容。如果不允许,请联系网站管理员,看看他们是否允许您避免任何法律纠纷。
使用chatgpt插件进行网络爬虫
登录您的openai账户,将鼠标悬停在gpt-4(当前付费版本)上,然后点击“plugins”。
接下来,点击“no plugins enabled”,向下滚动,然后点击“plugin store”。
请注意,如果有插件处于活动状态,您将看到一个插件图标,而不是“no plugins enabled”。在这种情况下,您需要点击该图标以展开下拉菜单,并点击底部的plugin store。
这将打开plugin store。搜索“scraper”,然后点击“install”。
在chatgpt界面中选择此插件。
在选择了此插件之后,必须提示chatgpt,提及主题url和要进行爬取的内容。
我已经为一些网站做过这样的操作。看看这个示例。
爬取一篇文章
我们是一个以技术为重点的出版物,我选择了我们的主页yaoweibin.com/进行说明。
下面是提示:
检查此网页:https://yaoweibin.cn/,并准备一个表格,列出前10篇文章的文章标题、作者、出版日期和摘要。
可以重新提示将数据转换为csv格式,将其粘贴在以.csv扩展名保存的文本文件中,并在类似ms excel的电子表格应用程序中打开它。
抓取交易或优惠网页
我们精选了一些顶级技术项目的优惠信息的链接_2部分。如何以表格形式获取每个交易的信息?
从此网页准备一个交易列表:https://yaoweibin.cn/deals/,以表格形式呈现结果。
抓取维基百科
以表格形式总结来自维基百科主页的“在新闻中”部分的最新新闻:https://en.wikipedia.org/wiki/main_page
抓取电子商务商店
最后,我尝试从amazon.com上爬取笔记本电脑,通过应用一些过滤器并将url提供给chatgpt。这是我的结果:
问题在于这不是个例。在许多情况下,网站都有反抓取措施。在这种情况下,如果不能订阅行业标准的抓取器,您将需要找到其他获取数据的替代方法。
以下各节介绍了一种解决方案。
使用chatgpt代码解释器进行网络抓取
代码解释器是一个新推出的chatgpt引擎,用于处理与编程相关的任务。虽然默认引擎严重依赖文本回答,但code interpreter可以帮助可视化输出,解析、调试和执行代码,与软件二进制文件集成,以及进行更多面向编程的操作。
在此过程中,我们将下载源html,将其上传到chatgpt代码解释器中,并进行抓取。
我选择了这个页面进行提取:
我们将首先保存网页为html。为此,转到网页并按ctrl+s
。
现在我们有了用于抓取的文件。让我们弄清楚提示。
除了文本提示外,您可以看到我给它了一些示例元素以加快抓取速度。由于amazon的网页结构复杂,如果没有这些示例,抓取尝试可能会失败或无结果。
获取这些元素非常简单。在主题网页的任何位置右键单击,然后从弹出菜单中点击“检查”。
首先,点击最上面的图标(标记为1)。这将在您从页面中选择元素时突出显示细节。接下来,选择任何特定产品的容器元素。
请确保选择最内层的容器。您可以悬停浏览,它会保持高亮显示。当您获得覆盖该块的最后一个外壳时,可以单击并转到右侧以复制元素的div class
。
同样,选择其他元素的示例。
最后,上传html并使用类似以下的提示:
查看这个网页的html并提取笔记本电脑的标题、价格和评分。在这个聊天界面中以表格格式呈现结果,并提供一个csv文件供下载。
<div class="s-card-container s-overflow-hidden aok-relative puis-include-content-margin puis puis-vfcg1duwvmpo42mcln9ojhiljk s-latency-cf-section s-card-border"
示例标题元素: span class="a-size-medium a-color-base a-text-normal"
示例价格元素: span class="a-price-whole"
示例评分元素: span class="a-size-base puis-bold-weight-text"
chatgpt代码解释器正在进行处理,这需要一些时间。在这个嵌入的csv文件中,您将得到一些详细信息。
您可以观察到表格中有一些条目在原始网页上不存在,特别是在开头。在这种情况下,您需要仔细检查和清理数据以去除任何冗余。
如果有的话,您可以重新提示chatgpt以获取一个干净的csv文件。
最后的想法
chatgpt可以做很多事情,基本的网页抓取就是其中之一。当然,如果需要抓取数百个页面,它可能不太适用。不过,它可以帮助您朝着正确的方向开始,并且非常适合进行短期的抓取。
在本指南中,我们使用了其中一个抓取插件和代码解释器。虽然插件适用于许多标准网站,但第二种方法适用于自定义网页结构或页面具有动态元素(无限滚动、阅读更多等)的情况。
再次强调,在进行抓取之前,请仔细阅读目标网站的使用条款。
附注:查看这些云抓取解决方案和我们自己的yaoweibin抓取api。