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

Python新手如何抓取点击非链接弹窗后才显示的网页数据?

爬虫实现方案

下面是两种适配不同需求的可落地实现路径,零基础可以优先从第一种开始尝试:

方案1:Selenium模拟浏览器操作(零接口分析门槛)

这个方案完全模拟人工点击的操作逻辑,不需要拆解网站的前端加密和后端接口逻辑,上手最快:

  • 先安装依赖,直接执行命令:pip install selenium webdriver-manager
  • 核心实现逻辑如下,你只需要替换对应元素的选择器即可运行:
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
from webdriver_manager.chrome import ChromeDriverManager
import time

# 自动适配Chrome驱动,无需手动下载配置
driver = webdriver.Chrome(ChromeDriverManager().install())
# 打开目标教授名录页面
driver.get("替换为你的目标页面URL")

# 定位所有可以触发弹窗的按钮,替换为网站对应按钮的CSS选择器
trigger_btns = driver.find_elements(By.CSS_SELECTOR, ".popup-trigger-btn")

for btn in trigger_btns:
    # 滚动到按钮可见位置,避免被遮挡无法点击
    driver.execute_script("arguments[0].scrollIntoView({block: 'center'});", btn)
    time.sleep(0.5)
    btn.click()
    # 等待弹窗加载完成,最多等待10秒,替换为弹窗容器的CSS选择器
    popup = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, ".detail-popup"))
    )
    # 提取目标字段,替换为对应内容的CSS选择器
    email = popup.find_element(By.CSS_SELECTOR, ".email-field").text.strip()
    department = popup.find_element(By.CSS_SELECTOR, ".dept-field").text.strip()
    # 可自行添加存储逻辑,比如写入CSV或者Excel
    print(f"邮箱:{email},院系:{department}")
    # 关闭弹窗,替换为弹窗关闭按钮的CSS选择器
    popup.find_element(By.CSS_SELECTOR, ".close-btn").click()
    time.sleep(1)

driver.quit()
  • 选择器获取方式:Chrome浏览器右键对应元素 → 点击「检查」 → 在弹出的开发者工具元素面板右键对应标签 → 复制 → 复制CSS选择器,直接粘贴替换即可。

方案2:直接请求后端接口(爬取效率更高)

如果需要爬取的教授数量较大,Selenium逐一点击效率较低,可以尝试直接抓取弹窗对应的后端接口:

  • 操作步骤:
    1. 打开Chrome开发者工具,切换到「网络」标签,筛选栏选择「Fetch/XHR」
    2. 手动点击一次弹窗,观察网络请求列表里新增的请求,一般返回格式为JSON的请求即为数据接口,响应内容里会包含邮箱、院系等字段
    3. 复制该接口的URL、请求头、请求参数,用requests库循环构造请求即可,爬取速度比Selenium快5-10倍
  • 注意:如果接口有加密参数(如token、sign等)且无法快速拆解生成规则,直接使用方案1即可,不需要浪费时间调试。

通用注意事项

  • 可以适当增加操作间隔,避免请求频率过高触发网站反爬机制
  • 如果网站有登录要求,可以先在Selenium启动的浏览器里手动完成登录,再执行爬取逻辑

内容的提问来源于stack exchange,提问作者Michelle Seo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:36:02