如果您参与加密货币交易、构建仪表盘或进行市场研究,获取实时加密货币价格至关重要。虽然 CoinMarketCap 在其网站上提供了大量此类数据,但它并未提供免费开放的实时价格 API。这时,网页数据抓取就变得非常有用。
在本文中,我们将向您展示如何使用 Python 从 CoinMarketCap 获取实时加密货币价格。我们将指导您发送请求、解析 HTML 以及提取比特币、以太坊和其他热门加密货币的数据。您还将学习如何使用以下工具来避免被封禁: Crawlbase Smart Proxy 以及如何导出数据以供将来使用。
让我们开始吧。
目录
- Python 和所需库
- 安装 BeautifulSoup 和 Requests
- 向 CoinMarketCap 发送 HTTP 请求
- 使用 BeautifulSoup 解析 HTML
- 提取实时加密货币价格
为什么要抓取 CoinMarketCap 来了解加密货币价格?
CoinMarketCap 是追踪加密货币价格、市值、交易量和排名的热门网站。它实时更新价格,并拥有数千种加密货币。它是加密货币数据的首选来源。
然而,CoinMarketCap 的官方 API 在免费访问方面存在限制,实时数据需要付费套餐才能获取。如果您是开发者、研究人员或加密货币爱好者,希望免费灵活地获取实时价格数据,那么网页抓取是最佳选择。
从 CoinMarketCap 抓取加密货币价格可用于多种用途。下图展示了一些常见的加密货币价格抓取用例及其对应的示例。

使用 Python、BeautifulSoup 和智能代理,您可以轻松可靠地提取这些数据,而无需支付昂贵的 API 费用。
入门所需的工具
在从 CoinMarketCap 抓取加密货币价格之前,我们先来设置一下所需的工具和库。我们将使用 Python,因为它简单、强大,并且拥有丰富的网页抓取库。
Python 和所需库
确保已安装 Python。你可以从 python.org 下载。
我们将使用两个主要的 Python 库:
- 要求 – 发送 HTTP 请求并获取页面的 HTML
- 美丽汤 – 从 HTML 中解析并提取数据
🔧 安装 BeautifulSoup 和 Requests
你可以使用 Python 的包管理器 pip 安装这两个库。打开终端或命令提示符并运行:
1 | pip 安装请求 beautifulsoup4 |
安装完成后,您就可以开始从 CoinMarketCap 抓取加密数据。
在 CoinMarketCap 上抓取加密货币价格的分步指南
现在你的设置已经准备就绪,让我们从 CoinMarketCap 抓取加密货币的实时价格。我们将使用 Python 和 BeautifulSoup 逐步进行操作。
向 CoinMarketCap 发送 HTTP 请求
首先,我们需要向 CoinMarketCap 网站发送请求并获取页面内容。
1 | 进口 要求 |
Always use headers like User-Agent to mimic a real browser.
使用 BeautifulSoup 解析 HTML
一旦我们有了页面内容,我们就可以使用 BeautifulSoup 来解析它。
1 | 在 bs4 进口 美丽汤 |
从 CoinMarketCap 中提取实时加密货币价格
让我们提取前 10 种加密货币的名称和当前价格。
CoinMarketCap 使用动态 HTML 类,因此您可能需要检查页面源来调整类名。
这是一个有效的例子:
1 | # 查找包含硬币的表行 |
输出:
1 | 比特币: $92,477.64 |
注意:类名可能会经常更改。您可以随时在页面上右键单击 → “检查” 来查看更新后的类名。
避免被阻止:使用 Crawlbase Smart Proxy
CoinMarketCap 使用 Cloudflare 等保护措施来阻止机器人。如果您发送过多请求,您的 IP 可能会被屏蔽。要解决此问题,请使用 Crawlbase Smart Proxy它可以帮助您抓取数据,避免被屏蔽或处理验证码。此外,您无需担心手动轮换 IP,因为一切都已为您处理。
使用方法 Crawlbase Smart Proxy 在 Python 中
这是一个使用 requests
:
1 | 进口 要求 |
您可以通过以下方式获取令牌 报名 on Crawlbase。 同 Crawlbase Smart Proxy,即使在具有强大保护的网站上,您的抓取工具也能保持稳定且畅通无阻。
将数据导出为 CSV 或 JSON
在本节中,我们将了解如何将 CoinMarketCap 中的加密货币数据导出为 CSV 和 JSON 格式。这在您需要存储数据或稍后进行分析时非常有用。我们还将使用 Crawlbase Smart Proxy 防止刮擦时被堵塞。
步骤:
- 使用 VHDL 语言编写 Crawlbase Smart Proxy 向 CoinMarketCap 发送请求。
- 提取加密货币数据,包括名称、符号和价格。
- 将数据导出为 CSV 和 JSON 格式。
以下是实现此目的的完整代码:
1 | 进口 要求 |
这样,您就可以从 CoinMarketCap 抓取数据而不会被封禁,数据导出功能也方便您保存数据并进行后续分析。如果您需要抓取更多数据或实现流程自动化,只需相应地调整逻辑即可。
总结
使用 Python 从 CoinMarketCap 抓取加密货币价格是了解金融市场波动的明智之举。只需几行代码,即可追踪实时价格、导出数据,并将其用于分析或构建加密工具。
不过,请记住,像 CoinMarketCap 这样的网站内置了反机器人保护功能。这就是为什么使用像 Crawlbase Smart Proxy 非常有用。它能让你的数据抓取更顺畅,还能避免 IP 封禁和验证码。
无论您是开发人员、交易员还是数据分析师,本指南都为您提供了一种使用 Python 开始加密数据抓取的简单方法。 现在注册.
常见问题 (FAQ)
问:从 CoinMarketCap 获取加密货币价格合法吗?
从 CoinMarketCap 抓取公共数据通常允许用于个人或教育用途。但是,请务必检查他们的 服务条款 在将抓取的数据用于商业项目之前,要避免任何法律问题。
问:为什么我在抓取 CoinMarketCap 时被阻止了?
CoinMarketCap 使用 Cloudflare 等安全工具来屏蔽机器人程序。如果您从同一 IP 地址发送过多请求,可能会遇到验证码或被屏蔽的情况。为了解决这个问题,请使用 Crawlbase Smart Proxy,, 它会自动轮换 IP 并绕过机器人保护。
问:我多久可以抓取一次加密货币价格?
如果你手动抓取数据,最好每隔几分钟抓取一次数据,以免被阻塞。 Crawlbase Smart Proxy,您可以以更好的速度和频率扩展抓取,使其成为跟踪实时加密数据的理想选择。