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

如何提取浏览器加载时动态生成的随机Ticker Symbol?

抓取动态生成的股票代码解决方案

问题原因

你用requests搭配BeautifulSoup抓取页面时只能拿到“Loading...”,是因为这个随机股票代码是页面加载后通过JavaScript动态生成的。requests只会获取页面初始的静态HTML,不会执行页面里的JS脚本,所以没法拿到后续渲染出来的实际内容。

解决办法

要抓取动态渲染的内容,得用能模拟浏览器执行JS的工具,比如Selenium或者Playwright,下面分别给出示例:

方法一:使用Selenium

1. 安装依赖

先安装Selenium和对应浏览器驱动(以Chrome为例):

pip install selenium

注意:ChromeDriver版本要和你的Chrome浏览器版本匹配,下载后放到系统可访问路径(比如系统PATH),或者在代码里指定驱动路径。

2. 代码实现

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def main(url):
    # 初始化Chrome浏览器驱动
    driver = webdriver.Chrome()
    driver.get(url)
    
    try:
        # 等待目标元素加载完成,最多等待10秒
        ticker_element = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.ID, "ticker"))
        )
        # 获取元素文本,此时已经是动态生成的股票代码
        ticker = ticker_element.text
        print(ticker)
    finally:
        # 无论成功失败,都关闭浏览器释放资源
        driver.quit()

if __name__ == "__main__":
    main("https://www.rayberger.org/random-stock-picker/")

方法二:使用Playwright(更简洁)

Playwright自带浏览器驱动,不用手动下载配置,上手更方便:

1. 安装依赖

pip install playwright
playwright install chrome

2. 代码实现

from playwright.sync_api import sync_playwright

def main(url):
    with sync_playwright() as p:
        # 启动Chrome浏览器
        browser = p.chromium.launch()
        page = browser.new_page()
        page.goto(url)
        # 等待元素文本不再是"Loading..."
        page.wait_for_function('document.getElementById("ticker").textContent !== "Loading..."')
        # 获取股票代码
        ticker = page.locator("#ticker").text_content()
        print(ticker)
        browser.close()

if __name__ == "__main__":
    main("https://www.rayberger.org/random-stock-picker/")

内容的提问来源于stack exchange,提问作者Sprinkled Difficulty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 04:17:11