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

如何使用Python Selenium编辑HTML?

爬取并修改特定HTML的自动化实现

核心工具选择

用Python配合requests(爬取页面)、BeautifulSoup(解析修改HTML)即可完成基础需求;如果目标网站是动态渲染页面,可改用Selenium或Playwright。

分步实现代码示例

  1. 爬取网页源码
import requests

# 替换为目标网站URL
target_url = "https://example.com"
# 添加headers模拟浏览器请求,避免反爬拦截
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
}

response = requests.get(target_url, headers=headers)
# 确保请求成功再处理后续逻辑
if response.status_code == 200:
    raw_html = response.text
else:
    print(f"请求失败,状态码:{response.status_code}")
  1. 解析并修改指定HTML元素
    针对你给出的示例(交换div内标题标签层级),用BeautifulSoup定位并修改:
from bs4 import BeautifulSoup

soup = BeautifulSoup(raw_html, "html.parser")
# 定位所有目标div(可根据实际情况添加class/id等筛选条件,提升精准度)
all_divs = soup.find_all("div")

for div in all_divs:
    # 处理含h5+h3的div
    h5_tag = div.find("h5")
    h3_tag = div.find("h3")
    if h5_tag and h3_tag:
        # 交换标签名称,实现层级调整
        h5_tag.name, h3_tag.name = h3_tag.name, h5_tag.name
    
    # 处理含h3+h1的div(加判断避免重复修改)
    h3_tag_2 = div.find("h3")
    h1_tag = div.find("h1")
    if h3_tag_2 and h1_tag and not h5_tag:
        h3_tag_2.name, h1_tag.name = h1_tag.name, h3_tag_2.name

# 生成格式化后的修改后HTML
modified_html = soup.prettify()
  1. 保存修改后的内容
with open("修改后的页面.html", "w", encoding="utf-8") as file:
    file.write(modified_html)

动态页面处理补充

如果目标页面是JS动态加载的内容,改用Selenium获取完整渲染后的源码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

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

driver = webdriver.Chrome(options=chrome_options)
driver.get(target_url)
# 可根据页面加载速度添加显式等待,确保内容加载完成
raw_html = driver.page_source
driver.quit()

# 后续解析修改步骤和上述一致

注意事项

  • 严格遵守目标网站的robots.txt协议,控制请求频率,避免触发反爬机制导致IP被封禁
  • 定位元素时尽量使用精准的筛选条件(如id、class属性),避免泛泛查找导致误修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:04:01