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

请求协助将Hedgefollow网站爬取数据转换为DataFrame

将Hedgefollow爬取数据转换为Pandas DataFrame

直接通过结构化存储表头和数据,再结合Pandas库即可生成DataFrame。以下是修改后的完整代码:

import selenium.webdriver
import time
import pandas as pd  # 引入Pandas库
from selenium import webdriver
from selenium.webdriver.common.by import By  # 用新定位语法替代旧方法
from selenium.webdriver.firefox.options import Options

url = "你的Hedgefollow目标页面URL"  # 补充要爬取的页面地址
options = webdriver.FirefoxOptions()
options.binary_location = r'C:/Local/Mozilla Firefox/firefox.exe'
driver = selenium.webdriver.Firefox(executable_path='C:Desktop/111/geckodriver.exe', options=options)

driver.get(url)
time.sleep(3)

table = driver.find_element(By.ID, 'dgtopHolders')

# 提取表头并存储为列表
headers = []
header_row = table.find_element(By.TAG_NAME, 'tr')
for cell in header_row.find_elements(By.TAG_NAME, 'th'):
    headers.append(cell.text.strip())  # 去除文本前后空白字符

# 提取表格数据并存储为二维列表
data = []
for row in table.find_elements(By.TAG_NAME, 'tr')[1:]:  # 跳过表头行
    row_data = []
    for cell in row.find_elements(By.TAG_NAME, 'td'):
        row_data.append(cell.text.strip())
    data.append(row_data)

# 生成DataFrame
df = pd.DataFrame(data, columns=headers)
print(df)

# 可选:将数据保存为CSV文件
# df.to_csv('hedgefollow_holders.csv', index=False)

driver.quit()  # 关闭浏览器进程

关键修改说明:

  • 新增pandas库导入,这是生成DataFrame的核心依赖
  • 替换旧版Selenium定位语法:用By.ID、By.TAG_NAME替代find_elements_by_tag_name这类已弃用的方法,提升代码兼容性
  • 结构化存储数据:
    • headers列表存储所有表头文本,作为DataFrame的列名
    • data二维列表存储每一行的单元格内容,对应DataFrame的行数据
  • 通过pd.DataFrame(data, columns=headers)直接生成结构化表格数据

注意事项:

  • 必须补充url变量的具体值,替换为你要爬取的Hedgefollow页面地址
  • 若页面加载速度慢,可调整time.sleep(3)的等待时长,或改用WebDriverWait实现显式等待(更高效)
  • 空单元格会被处理为空字符串,Pandas会自动识别这类数据

内容的提问来源于stack exchange,提问作者Agustos Imola

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:36:17