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

求助:从网页下拉菜单提取显示名称及对应HTML值

下拉菜单内容提取解决方案

问题原因

你当前代码定位的p.CaptionForm并非目标下拉菜单所在元素,下拉菜单对应的是HTML中的<select>标签,其内部的<option>标签才包含显示名称和关联的value属性值。此外,该ASPX页面依赖会话状态与表单字段,直接get请求可能无法获取完整的下拉选项。

修正代码

from bs4 import BeautifulSoup
import requests

url = 'http://clima.edu.ar/InformePorPeriodo.aspx'

# 维持会话以获取完整页面内容
session = requests.Session()
page = session.get(url)
soup = BeautifulSoup(page.text, 'html.parser')

# 定位目标下拉菜单(需替换为实际select元素的id,可通过浏览器开发者工具查看)
select_element = soup.find('select', id='ddlEstacion')
if select_element:
    # 遍历提取所有选项的显示名称和关联值
    for opt in select_element.find_all('option'):
        display_name = opt.text.strip()
        value = opt.get('value')
        print(f"显示名称: {display_name}, 关联值: {value}")
else:
    print("未找到目标下拉菜单元素")

关键注意事项

  • 精准定位元素:通过浏览器F12开发者工具查看目标下拉菜单的HTML属性(如id),替换代码中的ddlEstacion为实际值。
  • 会话维持:使用requests.Session确保请求携带ASPX页面所需的会话状态,避免因视图状态缺失导致内容不完整。
  • 动态内容处理:若静态解析仍无法获取选项,需从页面中提取__VIEWSTATE、__VIEWSTATEGENERATOR等表单字段,模拟表单提交以获取完整数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:20:26