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

技术求助:如何用Python抓取指定网页内的10,599数值

网页表格数据抓取实现方案

方法一:使用BeautifulSoup4(静态网页抓取)

  1. 先安装所需依赖:
pip install requests beautifulsoup4
  1. 实现代码:
import requests
from bs4 import BeautifulSoup

# 目标网页URL
url = "https://www.immd.gov.hk/eng/stat_20221001.html"

try:
    # 发送请求获取网页内容
    response = requests.get(url)
    response.encoding = "utf-8"  # 设置编码确保内容正常解析
    soup = BeautifulSoup(response.text, "html.parser")
    
    # 精准定位目标<td>标签,匹配class、headers、data-label三个属性
    target_td = soup.find("td", attrs={
        "class": "hRight",
        "headers": "Total_Departure",
        "data-label": "Total"
    })
    
    if target_td:
        # 提取并打印目标数值
        print("抓取到的数值:", target_td.get_text(strip=True))
    else:
        print("未找到目标元素")
except Exception as e:
    print(f"抓取过程出错:{e}")

方法二:使用Selenium(兼容动态网页)

如果网页存在动态渲染场景,可使用Selenium模拟浏览器操作:

  1. 安装依赖:
pip install selenium

注意:需下载对应浏览器版本的驱动(如ChromeDriver),将其放在Python可执行路径下或配置系统环境变量。

  1. 实现代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

# 配置浏览器无头模式(可选,不弹出可视化窗口)
chrome_options = Options()
chrome_options.add_argument("--headless=new")

try:
    # 启动浏览器并访问目标网页
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://www.immd.gov.hk/eng/stat_20221001.html")
    
    # 通过CSS选择器定位目标<td>标签
    target_td = driver.find_element(By.CSS_SELECTOR, 'td.hRight[headers="Total_Departure"][data-label="Total"]')
    
    # 提取并打印目标数值
    print("抓取到的数值:", target_td.text.strip())
except Exception as e:
    print(f"抓取过程出错:{e}")
finally:
    # 确保浏览器关闭
    if 'driver' in locals():
        driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:45:29