如何将Colab中Selenium爬取的股票输出结果保存为Excel文件
Colab 雅虎财经爬取数据保存为Excel解决方法
你可以借助pandas库完成Excel导出,全程适配Colab运行环境,操作步骤如下:
步骤1:安装依赖库
在你的代码开头新增以下安装命令,确保导出Excel所需的依赖完备:
!pip install pandas openpyxl
步骤2:修改数据采集逻辑,存储结构化数据
不要直接打印采集到的数据,先将数据存入列表,最后统一导出,修改后的代码片段2如下:
import pandas as pd from google.colab import files lists = ["FBRX", "GNLN", "TISI"] # 初始化空列表存储采集数据 stock_data = [] for stock_code in lists: url = f"https://finance.yahoo.com/quote/{stock_code}?p={stock_code}" wd.get(url) # 可选:如果新版Selenium报错,把find_element_by_xpath替换为find_element('xpath', 路径) EPS = wd.find_element_by_xpath('//*[@id="quote-summary"]/div[2]/table/tbody/tr[4]/td[2]/span').text AV = wd.find_element_by_xpath('//*[@id="quote-summary"]/div[1]/table/tbody/tr[8]/td[2]/span').text OYT = wd.find_element_by_xpath('//*[@id="quote-summary"]/div[2]/table/tbody/tr[8]/td[2]/span').text # 把单条数据加入列表 stock_data.append([stock_code, EPS, AV, OYT]) print(stock_code,EPS,AV,OYT) # 转换为DataFrame,自定义列名 df = pd.DataFrame(stock_data, columns=['股票代码', '每股收益(EPS)', '平均成交量', '一年期目标价']) # 导出为Excel文件,index=False表示不导出pandas默认的行索引 df.to_excel('雅虎财经股票指标.xlsx', index=False, engine='openpyxl') # 可选:直接将生成的Excel下载到你的本地电脑 files.download('雅虎财经股票指标.xlsx')
可选优化建议
- 如果需要在Excel中直接对数值做计算,可以在采集时处理掉数值中的千位分隔符,转换为数字类型:
# 示例:把成交量转换为整数 AV = int(wd.find_element_by_xpath('//*[@id="quote-summary"]/div[1]/table/tbody/tr[8]/td[2]/span').text.replace(',','')) - 若出现元素定位失效问题,可适当添加隐式等待避免页面未加载完成就采集数据:在初始化webdriver后添加
wd.implicitly_wait(10)即可。
内容的提问来源于stack exchange,提问作者yeeping50
相关产品推荐
相关产品推荐

