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

如何使用Selenium统计网页中文本“Airport”的出现次数?

统计页面中“Airport”出现次数的可行方法

看起来你遇到的核心问题是页面内容是动态渲染的——直接用Request获取的是服务器返回的初始XML/HTML,而目标文本是通过JavaScript在浏览器端渲染出来的,所以静态抓取工具拿不到。下面给你几个靠谱的解决思路:

方法一:用Selenium模拟浏览器渲染

Selenium会真实打开浏览器,等待页面完全渲染后再抓取内容,这是处理动态页面最直接的方式:

  • 步骤:
    1. 安装Selenium和对应浏览器的驱动(比如ChromeDriver)
    2. 编写代码打开目标页面,等待页面加载完成
    3. 获取整个页面的文本内容,统计“Airport”的出现次数
  • 示例代码:
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

# 初始化Chrome浏览器驱动(其他浏览器操作类似)
driver = webdriver.Chrome()
driver.get("你的目标页面URL")

# 等待页面主体内容加载完成,确保动态文本渲染到位
try:
    WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.TAG_NAME, "body"))
    )
finally:
    # 获取页面所有可见文本
    page_text = driver.find_element(By.TAG_NAME, "body").text
    # 统计目标文本出现次数
    airport_count = page_text.count("Airport")
    print(f"Airport出现次数:{airport_count}")
    driver.quit()

方法二:分析页面的AJAX/API请求

有时候动态内容是通过后端接口异步加载的,你可以:

  1. 打开浏览器开发者工具(F12),切换到Network标签
  2. 刷新页面,过滤XHR/Fetch类型的请求,找到返回包含“Airport”相关数据的接口
  3. 直接用Request调用这个接口,解析返回的JSON/XML数据统计次数
  • 优势:比Selenium更轻量、速度更快,适合批量抓取场景

方法三:用requests-html做轻量JS渲染

如果你觉得Selenium太重,可以试试requests-html库,它内置了简单的JS渲染功能,不需要额外安装浏览器驱动:

  • 示例代码:
from requests_html import HTMLSession

session = HTMLSession()
r = session.get("你的目标页面URL")
# 触发JS渲染,等待页面加载完成
r.html.render()
# 获取页面全部文本内容
page_text = r.html.text
# 统计次数(如果要忽略大小写,可用page_text.lower().count("airport"))
airport_count = page_text.count("Airport")
print(f"Airport出现次数:{airport_count}")

额外提醒

如果“Airport”还出现在图片alt文本、按钮title属性这类非可见文本里,记得要单独解析这些属性内容,不要只统计页面可见文本哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:34:49