仅使用 01 提示使用 ChatGPT 代码解释器进行网页抓取(分步教程)

无论您是否具有编程知识,执行网页抓取似乎是一项复杂且要求苛刻的任务。但是,ChatGPT 和代码解释器插件将为我们节省许多代码行和麻烦,因为它只需一个提示即可在几秒钟内从网页中提取信息。

接下来,我们将通过三个示例看到如何使用 ChatGPT 以简单实用的方式执行网页抓取,所有这些都是一步一步解释的

image-20230729114148746

让我们开始...\

1) 沃尔玛

我们将使用沃尔玛在线商店的“购买所有返校”部分。我在下面提供直接链接:

在返校 - Walmart.com 中购买所有返校产品

在“返校”中购买所有返校商店。购买产品,如 JLab 音频 JBuddies 工作室儿童贴耳式...

www.walmart.com

步骤 1:定义要提取的字段

我们需要定义我们希望提取的信息。这非常重要,因为它将帮助我们以后在 ChatGPT 中构建我们的提示

image-20230729114214780

在这种情况下,我们将抓取产品名称和价格

image-20230729114238643

第 2 步:检查代码

在这里,我们需要定义 1 个产品的代码(作为示例,然后将其输入到 ChatGPT 中)

但在我们这样做之前,请记住以下几点:

要访问 Chrome 中的检查元素功能,如果您使用的是 Windows,则有两个键盘快捷键选项:

a) 按 + 移位 + c

b) 按 + 移位 + i

如果您使用的是 macOS,请使用:

a) alt + Command + i

b) 选项 + 命令 + i

考虑到这一点,我们现在可以检查沃尔玛网站。让我们回顾一下以下部分:

i) 产品名称

在这种情况下,我们需要在代码中找到产品名称进行抓取

image-20230729114307316

让我们复制它,然后将其包含在我们的提示中。要复制 span 标签\,我们将鼠标悬停在该部分上,右键单击,将出现以下内容:

image-20230729114324582

现在我们只是复制它,出于实际目的,我们将保留它方便,以便稍后包含在提示中

<span data-automation-id=“product-title” class=“normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy”>任天堂儿童超级马里奥兄弟马里奥世界17“笔记本电脑背包

ii ) 价格

我们将对价格字段执行相同的操作

image-20230729114344077

image-20230729114401416

我们将保留价格字段的复制元素供以后使用

$14.92

如果您需要从网页中提取更多部分,则应重复我们对产品名称和价格执行的相同步骤

提示:\要在代码区域内快速找到要检查的字段,只需将鼠标放在字段上,单击鼠标右键,即可启用检查选项。

image-20230729114418499

步骤 3:保存 HTML 文件

由于我们将使用代码解释器,因此我们需要向其附加一个文件。因此,我们要做的是将要抓取的页面另存为HTML文件。

返回页面并使用键盘快捷键 Ctrl + S(适用于 Windows 和 macOS)

image-20230729114438575

键盘快捷键:按 Ctrl + s

接下来,将文件以 HTML 格式保存在本地文件夹中

image-20230729114452620

第 4 步:上传 HTML 文件 + 生成提示

现在我们已经在 Web 上定义了要抓取的字段及其代码,让我们在 ChatGPT 中构造提示

如果您尚未激活代码解释器,让我们按照一些说明进行操作。否则,我建议您跳过此部分,直接进入构造提示

i) 设置

image-20230729114505103

ii ) 打开代码解释器

image-20230729114517612

image-20230729114528373

ChatGPT 中激活代码解释器后,让我们上传我们在步骤 3 中保存的 HTML 文件

image-20230729114545523

image-20230729114556425

现在,让我们构建提示,同时考虑产品名称和价格,以及每个部分的代码(如有疑问,请查看步骤 2)

image-20230729114608261

提示:从HTML文件中,提取产品名称和价格,将数据放在表格上并导出为CSV文件

这是一个产品的元素: <span数据自动化id=“产品标题”类=“正常深灰色MB0 mt1 lh-title f6 f5-l lh-copy”>任天堂儿童超级马里奥兄弟马里奥世界17“笔记本电脑背包

以下是价格的要素:

$14.92

如果缺少产品价格,请将该价格保留为空数据

在提示中,我们看到有 04 个部分

在第一段中,我指定我已经加载了一个 HTML 文件,并要求它抓取产品名称和价格。完成此操作后,我请求它将数据导出到CSV文件中

在第二段和第三段中,我向 ChatGPT 提供了产品名称和价格字段的每个相应结构的示例。我们看到每个产品都是一个跨度\标签,价格是一个 div 标签\

在 last 段落中,如果它找到价格的空值,我要求它分配空\数据

请务必牢记此提示,因为即将推出的示例将具有相同的结构,并且只会更改字段及其代码

结果:

image-20230729114646951

image-20230729114658693

下载并打开 CSV\ 文件

image-20230729114722203

最后,我们成功地对产品及其各自的价格进行了网络抓取,然后将其导出为CSV文件,如表格图像所示。请注意,我们用作示例的产品包括在内!

奖金

前面的步骤使我们能够从沃尔玛网站的第一(01)页执行网络抓取。但是,如果我们想从第二个 (02) 页面中提取数据,我们执行与前面相同的步骤,但不要忘记在此新页面中识别产品并将其作为示例包含在提示中

沃尔玛网站上“返校”部分的第02页

i) 产品名称

image-20230729114743309

<span data-automation-id=“product-title” class=“normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy”>Minecraft Boys Cliff Goats 图形 T 恤,2 件装,尺码 4–18</跨度>

ii) 价格

image-20230729114755686

$13.96

就像第一页一样,我们需要将第二(02)页的文件保存为HTML\格式(如果您有任何疑问,请查看步骤03)

提示

从HTML文件中,提取产品和价格的名称,将数据放在表格上并将其导出为CSV文件。

这是一个产品的元素: <span data-automation-id=“product-title” class=“normal dark-gray mb0 mt1 lh-title f6 f5-l lh-copy”>Minecraft Boys Cliff Goats 图形 T 恤,2 件装,尺码 4–18</跨度>

以下是价格的要素:

$13.96

如果缺少产品价格,请将该价格保留为空数据

image-20230729114811397

如果您希望将两个表合并为一个,您可以要求 ChatGPT 执行以下操作:

image-20230729114842177

2. 目标

在第二个示例中,我们将从目标网站的手机部分执行网页抓取。我们将直接继续,如果有任何疑问,请参阅沃尔玛的第一个示例的步骤

这是直接链接:

手机 : 目标

购买目标手机,你会喜欢的手机,价格低廉。选择当日送货,开车或订购取货...

www.target.com

步骤 1:让我们确定要提取的字段

a) 产品 b) 品牌 c) 价格

image-20230729114857810

现在,让我们检查每个目标字段的代码级别(查看步骤 2)

用于检查的键盘快捷键:Ctrl + Shift + cWindows) 或 *Alt + Command + i*macOS)

步骤 2:检查代码

i) 产品

我们找到代码和标签。我们复制并保留代码,以便以后将其合并到 ChatGPT 提示符中(如有疑问,请查看第一个沃尔玛示例的步骤 02)

image-20230729114910782

<a href=“/p/tracfone-prepaid-apple-iphone-se-2nd-gen-64gb-cdma-black/-/A-82040163#lnk=sametab” aria-label=“Tracfone Prepaid Apple iPhone SE 2nd Gen (64GB) CDMA — Black” class=“styles__StyledLink-sc-vpsldm-0 styles__StyledTitleLink-sc-14ktig2–1 fajhWk gkIDAW h-display-block h-text-bold h-text-bs” data-test=“product-title”>Tracfone Prepaid Apple iPhone SE 2nd Gen (64GB) CDMA — Black

ii) 品牌

image-20230729114951027

<a href=“/b/apple/-/N-5y3ej” class=“styles__StyledLink-sc-vpsldm-0 lnixiM h-text-sm h-text-grayDark” data-test=“@web/ProductCard/ProductCardBrandAndRibbonMessage/brand”>Apple

iii) 价格

image-20230729115002100

$189.99

步骤 3:保存 HTML 文件

将要抓取的页面另存为 HTML 文件(查看沃尔玛示例中的步骤 3

第 4 步:上传 HTML 文件 + 生成提示

我们将构造提示,但与前面的示例不同,我们将包括手机品牌字段(请参阅沃尔玛示例的步骤 4)。

加载 HTML 文件并为每个要抓取的字段添加代码(产品名称、品牌和价格)

image-20230729115019331

提示: 从HTML文件中,提取产品名称,品牌,价格,将数据放在表格上并导出为CSV文件。提取所有产品

这是一个产品的元素: <a href=“/p/tracfone-prepaid-apple-iphone-se-2nd-gen-64gb-cdma-black/-/A-82040163#lnk=sametab” aria-label=“Tracfone Prepaid Apple iPhone SE 2nd Gen (64GB) CDMA — Black” class=“styles__StyledLink-sc-vpsldm-0 styles__StyledTitleLink-sc-14ktig2–1 fajhWk gkIDAW h-display-block h-text-bold h-text-bs” data-test=“product-title”>Tracfone Prepaid Apple iPhone SE 2nd Gen (64GB) CDMA — Black

以下是品牌的元素: <a href=“/b/apple/-/N-5y3ej” class=“styles__StyledLink-sc-vpsldm-0 lnixiM h-text-sm h-text-grayDark” data-test=“@web/ProductCard/ProductCardBrandAndRibbonMessage/brand”>Apple

以下是价格的元素:

$189.99
如果缺少产品价格,请将该价格保留为空数据

结果

image-20230729115039728

下载并打开 CSV\ 文件

image-20230729115054753

结果很棒,我们能够从 Target 网站抓取所有数据

image-20230729115105916

3) 亚马逊

在最后一个示例中,我们将对 Kindle 书籍执行网页抓取。看看哪些书最受欢迎,然后使用 ChatGPT 创建具有不同趋势主题的故事可能会很有趣

这是链接:

Amazon.com : 电子书点燃

回到学校 残疾客户支持 关闭到大学诊所 畅销书 客户服务 亚马逊基础知识 音乐...

www.amazon.com

步骤1:让我们确定要提取的字段

a) 产品或标题 b) 作者 c) 价格

image-20230729115118872

步骤 2:检查代码

i) 产品或标题:

我们找到代码和标签。我们复制并保留代码,以便稍后将其合并到 ChatGPT 提示符中(如有疑问,请查看第一个沃尔玛示例的步骤 02)

要检查的键盘快捷键是:Ctrl + Shift + cWindows)或Alt + Command + imacOS)。您可以参考步骤 2 了解更多详情

image-20230729115130481

<span class=“a-size-base-plus a-color-base a-text-normal”>Lessons in Chemistry: A Novel

ii ) 作者

image-20230729115141629

<a class=“a-size-base a-link-normal s-underline-text s-underline-link-text s-link-style” href=“/Bonnie-Garmus/e/B09964CPY4?ref=sr_ntt_srch_lnk_1&qid=1690568130&sr=8–1”>邦妮·加莫斯

iii) 价格

image-20230729115210781

请注意,对于此示例,我们只会提取价格的整数部分

14.

步骤 3:保存 HTML 文件

我们将要抓取的网页保存为 HTML 文件。为此,我们使用快捷键 Ctrl + S 在我们要保存的页面上。我们不要忘记将文件保存为 HTML 格式(检查沃尔玛示例的步骤 3 中的详细信息)

第 4 步:上传 HTML 文件 + 生成提示

现在,让我们根据我们要从亚马逊网页中提取的字段来构建提示,特别是从他们的 Kindle 书籍部分。在本例中,我们要提取标题、作者和价格。

接下来,我们加载 HTML 文件并添加代码以抓取每个所需的字段(标题、作者和价格\))

image-20230729115223012

提示: 从HTML文件中,提取产品名称、作者和价格,将数据放在表格上并导出为CSV文件。

这是一个产品的元素: <span class=“a-size-base-plus a-color-base a-text-normal”>Lessons in Chemistry: A Novel

以下是作者的元素: <a class=“a-size-base a-link-normal s-underline-text s-underline-link-text s-link-style” href=“/Bonnie-Garmus/e/B09964CPY4?ref=sr_ntt_srch_lnk_1&qid=1690568130&sr=8–1”>Bonnie Garmus

以下是价格元素: 14.

如果缺少产品价格,请将该价格保留为空数据

让我们看到我们看到的示例中的提示具有相同的结构

结果

image-20230729115237256

我们下载 CSV\ 文件

image-20230729115248311

我们成功了!

image-20230729115300816

总结和建议

  1. 如果我们尝试将URL直接放入ChatGPT,即使激活了代码解释器,它也无法执行网页抓取。出于这个原因,我们下载要在 HTML 中抓取的页面
  2. ChatGPT 最初可能无法识别要提取的字段的标签,并且可能会向我们提供错误的信息。此时,我建议打开另一个聊天并再次运行提示
  3. 我们应该记住,代码解释器使用Python和库,如BeautifulSoup进行网页抓取。
  4. 此方法的目的不是取代传统的网页抓取,但是,它将节省我们的时间和代码行
  5. 我们通过 03 个网页抓取示例在故事中看到的内容既面向从事编程工作的人,也面向在该领域知之甚少或一无所知的人
  6. 有趣的是,我们可以通过网络抓取完成什么,正如我上面提到的,我们可以专注于直销创建 Kindle 书籍,考虑到畅销书籍分析竞争对手的价格跟踪某些产品等等

本完整指南适用于希望使用 ChatGPT 进行网页抓取的替代方案的人。没有必要有先前的编程知识,只需要好奇心和耐心。下个故事见,祝福!

猜你喜欢

转载自blog.csdn.net/shupan/article/details/132009068