如何使用Excel进行数据抓取?

作者 :

反应 :

评论

您知道吗,原来可以这样做? 网络搜刮 使用Excel?借助 Power QueryVBA, 您无需使用复杂工具即可导入、结构化和更新数据。.

完全可以在Excel中提取网页数据。.
完全可以在Excel中提取网页数据。©Christina为Alucare.fr

如何使用Power Query将网页数据抓取到Excel中?

✅ Power Query 是Excel中内置的一款工具。它用于导入、转换和分析数据。借助它,您可以:

  • 🔥 从网页、文件、数据库等处恢复数据.
  • 🔥 清理或转换这些数据。.
  • 🔥 自动加载数据。.

这是使用Excel进行数据抓取的最简单方法。了解具体操作步骤。.

步骤1:访问导入工具

在 Excel 中,转到 Données > 获取数据 > 来自网络.

打开一个新的Excel工作表,进入"数据"选项卡,然后选择"获取数据",接着选择"从网页"。.
打开一个新的Excel工作表,进入“数据”选项卡,选择“获取数据”,然后点击“从网页”。©Christina 提供给Alucare.fr

步骤2:粘贴网页的URL

粘贴包含您想要提取数据的网站或页面的地址。.

粘贴目标网站或页面的地址。.
粘贴目标网站或页面的地址。©Christina 提供给 Alucare.fr

步骤3:在“浏览器”中导航”

将打开一个包含检测到的表格的窗口。选择相关的表格或数据。示例:一个HTML表格。.

选择表格或数据。.
选择表格或数据。©Christina 提供给 Alucare.fr

步骤4:将数据导入Excel表格

点击 加载 直接将数据导入您的Excel表格。.

加载以导入数据。.
加载以导入数据。©Christina为Alucare.fr

💡 要获取网站的最新信息,请刷新数据。在表格中右键点击 > 更新.

如何使用VBA和Excel宏进行网页抓取?

✅ VBA 在哪里 Visual Basic for Applications 是一种集成于Excel及其他Microsoft Office软件的编程语言。其用途包括:

  • 🔥 自动化重复性任务。.
  • 🔥 创建宏,即在Excel中运行的微型程序。.
  • 🔥 打开网页,提取文本或表格,并直接粘贴到Excel中。.

尽管更为复杂,VBA提供了 高级控制 :页面间导航、身份验证登录、动态数据提取等。.

以下是一个从页面中获取HTML表格的宏示例:

Sub ScraperTableau() ' 声明对象 Dim http As Object, html As Object Dim tableau As Object, ligne As Object, cellule As Object Dim i As Long, j As Long

    ' 要抓取的页面URL Dim url As String url = "https://www.w3schools.com/html/html_tables.asp" ' 创建HTTP对象 Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", url, False
    http.Send ' 加载HTML内容 Set html = CreateObject("HTMLFile") html.body.innerHTML = http.responseText ' 选择第一个找到的表格 Set tableau = html.getElementsByTagName("table")(0) ' 循环遍历行和列
    For i = 0 To tableau.Rows.Length - 1 For j = 0 To tableau.Rows(i).Cells.Length - 1 Cells(i + 1, j + 1).Value = tableau.Rows(i).Cells(j).innerText Next j Next i End Sub

👉 代码说明: 

  • Dim http As Object, html As Object 创建用于管理Web请求和HTML内容的对象。.
  • url = "..." : 要抓取的网站URL。.
  • http.Open "GET", url, False 发送HTTP请求以加载页面。.
  • html.body.innerHTML = http.responseText 将HTML响应插入可操作对象中。.
  • 设置表格 = html.getElementsByTagName("table")(0) : 我们瞄准的是 第一张图 页面
  • 双环 对于 i … 对于 j … 逐个读取表格中的每个单元格,并将它们粘贴到Excel的对应单元格中。.

👉 VBA在网页抓取中的应用场景

  • 需要身份验证的页面 (登录名/密码)。.
  • 动态页面在某些情况下,Power Query 无法正常工作。.
  • 获取多个数组 同一页内或在多个页面之间浏览。.
  • 自动化 : 使用按钮或触发器设置每日数据更新。.

Power Query 与 VBA:在 Excel 中进行数据抓取时该选择哪种方法?

在以下选项中选择 Power QueryVBA 将根据您的需求进行。以下是一个简短的比较,帮助您选择最适合的方法。.

标准 Power Query VBA
易用性 非常简单 复杂,需要代码
灵活性 仅限于表格数据 高度灵活,全面掌控
学习曲线 虚弱的
用例 快速提取HTML表格 复杂页面、身份验证、,
先进自动化

➡ 总之,, Power Query 非常适合初学者和大多数基本任务,而 VBA 适用于具有特定需求的进阶用户。.

有哪些替代Excel的网络爬虫工具?

Excel虽然实用,但功能有限。对于更复杂的项目,存在更强大的替代方案。.

无代码/低代码工具

它们能够提取网络数据 无需编写代码.我们引述 :

  • 亮数据 : 一种专业、强大且可扩展的解决方案。.
  • Octoparse : 操作简便,配备直观的视觉界面,非常适合初学者。.
Bright 是一个为人工智能和商业智能提供无限网络数据的基础设施。.
Bright 是一款专为人工智能和商业智能打造的无限网络数据基础设施。©Christina 供 Alucare.fr 使用

编程语言

它们能够 抓取网站 非常灵活的方式。您可以自动浏览多个页面、管理需要身份验证的网站等。.

若您正在寻找一款强大且适用于复杂项目的解决方案,请选择 使用 Python 进行网络搜索.

👉 一目了然地看看哪些解决方案在功能、灵活性和简便性方面超越了Excel。.

工具/语言 成本 复杂性 强大的
Excel(Power Query) 取决于Office套件 简单的 基本的
Excel(VBA) 免费(需拥有Office许可证) 意思是 意思是
亮数据 每月订阅 意思是 非常高
Octoparse 每月订阅 简单的 意思是
Python(BeautifulSoup、Scrapy) 自由的 非常高

哪些工具和资源可以帮助使用Excel进行数据抓取?

若您希望进一步探索Excel的网页抓取功能,可将其与其他工具结合使用,例如: 图书馆浏览器扩展.

例如 :

网络搜索合法吗?

网络爬虫是合法的 在特定条件下。这完全取决于是否遵守网站的使用条款、知识产权以及数据使用情况。.

💬 最后,使用Excel进行数据抓取是可行的且易于操作的,尤其当... Power Query. 对于更复杂的需求,VBA提供了高级控制功能,但其他工具如 亮数据 在哪里 Python 有时更合适。.

喜欢吗?分享它!

这些内容最初是 法语 (请参见下面的编辑器)。为了向尽可能多的国家提供帮助,我们使用 Deepl 和/或谷歌翻译 API 对该网站进行了多种语言的翻译和校对。我们每月的翻译费用高达数千欧元。如果它不是 100 % 完美,请给我们留言,以便我们进行修正。如果您对校对和提高翻译文章的质量感兴趣,请使用联系表格向我们发送电子邮件!
我们感谢您的反馈意见,以改进我们的内容。如果您想提出改进建议,请使用我们的联系表或在下面留言。 您的意见有助于我们提高网站质量 Alucare.fr


Alucare 是一家独立媒体。请将我们添加到您的谷歌新闻收藏夹,以支持我们:

在讨论区发表评论