如何从网站抓取特定数据

如何从网站抓取特定数据

我正在尝试从网站上抓取数据以供研究。

这些 URL 以 example.com/x 格式整齐地组织起来,其中 x 为升序数字,所有页面的结构都相同。我只需要抓取某些标题和一些始终位于相同位置的数字。然后我需要将这些数据转换为结构化形式,以便在 Excel 中进行分析。

我以前曾使用 wget 来下载页面,但我不知道如何抓取特定的文本行。

Excel 有一个从网络抓取数据的功能(数据->来自网络),但据我所知,它只允许我下载表格。不幸的是,我需要的数据不在表格中。

答案1

您可以使用来自动执行此任务。它是一种自动执行重复任务的工具,可用于从站点提取数据并将其保存为 CSV 文件。

就像x遵循example.com/x模式(即升序)一样,您可以轻松地对其进行编程(即使没有编程经验)来访问每个页面并从中提取数据。

阅读更多iMacros 教程

或者你也可以尝试维基百科(需要一些编程经验)。

答案2

您可以将此代码粘贴到模块中:

Option Explicit
Sub get_data()
Dim result As String
Dim myURL As String
Dim winHttpReq As Object
Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
myURL = "example.com/x format"

winHttpReq.Open "GET", myURL, False
winHttpReq.Send
result = winHttpReq.responseText
Application.ScreenUpdating = True

Range("Sheet1!A1").value = result
End sub

您可以简单地解析单元格 A1 中的长字符串来提取所需的数据。

相关内容