You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python Selenium爬取CoinMarketCap数据的异常问题求助

问题:爬取CoinMarketCap前200条数据遇阻

我尝试从CoinMarketCap网页爬取前200行数据,目前仅需先打印爬取结果,后续再存入DataFrame。但遇到两个问题:

  • 代码持续报错或返回空列表
  • 拆分容器变量的属性名称时,仅能爬取前77行

以下是我的代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import time

url = 'https://coinmarketcap.com/all/views/all/'
path= xxxxxxxxx

service=Service(executable_path=path)
driver=webdriver.Chrome(service=service)
driver.get(url)
time.sleep(60)

containers = driver.find_elements(by='xpath',value='//tr[@class="cmc-table-row" and (@style="display: table-row" or @style="display: table-row;")]')

Ranks = []
Names = []
Images = []
Symbols = []
MarketCaps = []
Prices = []
CirculatingSupplys = [] 
Volume24hs  = []
Hr_percnt_1s = []
Hr_percnt_24s = []
day_percent_7s = []

for i in containers:
    Rank = i.find_element(by='xpath',value='./td/div').text 
    Name = i.find_element(by='xpath',value='./td/div/a[2]').text
    Symbol = i.find_element(by='xpath',value='./td[3]/div').text        
    MarketCap = i.find_element(by='xpath',value='./td/p/span[2]').text
    Price = i.find_element(by='xpath',value='./td[5]/div/a/span').text
    CirculatingSupply = i.find_element(by='xpath',value='./td[6]/div').text 
    Volume24h   = i.find_element(by='xpath',value='./td[7]/a').text
    Hr_percnt_1 = i.find_element(by='xpath',value='./td[8]/div').text
    Hr_percnt_24 = i.find_element(by='xpath',value='./td[9]/div').text
    day_percent_7 = i.find_element(by='xpath',value='./td[10]/div').text

    Ranks.append(Rank)
    Names.append(Name)
    Symbols.append(Symbol)
    MarketCaps.append(MarketCap)
    Prices.append(Price)
    CirculatingSupplys.append(CirculatingSupply)    
    Volume24hs.append(Volume24h)
    Hr_percnt_1s.append(Hr_percnt_1) 
    Hr_percnt_24s.append(Hr_percnt_24)
    day_percent_7s.append(day_percent_7)

print(Ranks)
print(Names)
print(Symbols)
print(MarketCaps)
print(Prices)
print(CirculatingSupplys)   
print(Volume24hs)
print(Hr_percnt_1s)
print(Hr_percnt_24s)
print(day_percent_7s)

driver.quit()

内容的提问来源于stack exchange,提问作者Mubaraq Onipede

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:41:01