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

如何用Python从AVL-DNV网页词典提取音标拼写?

用Python提取AVL-DNV词典网页中的音标

步骤1:环境准备

需要安装两个核心工具库:

  • requests:用于发送HTTP请求获取网页源码
  • BeautifulSoup:用于解析HTML结构定位目标内容

执行以下命令完成安装:

pip install requests beautifulsoup4

步骤2:网页爬取与音标提取

以目标词典的音标标签规则为例,音标内容通常被包裹在<span class="fonetica">标签内。以下是可直接运行的代码:

import requests
from bs4 import BeautifulSoup

def extract_phonetics(target_word):
    # 构造目标单词的查询URL
    url = f"http://www.avl.gva.es/lexicval/?paraula={target_word}"
    # 模拟浏览器请求头,避免被反爬拦截
    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"
    }
    # 发送GET请求
    response = requests.get(url, headers=headers)
    if response.status_code != 200:
        return "请求失败,无法获取网页内容"
    # 解析HTML文档
    soup = BeautifulSoup(response.text, "html.parser")
    # 定位音标所在的标签
    phonetic_element = soup.find("span", class_="fonetica")
    if phonetic_element:
        # 提取并返回纯音标文本
        return phonetic_element.get_text(strip=True)
    else:
        return "未找到对应音标"

# 测试示例
if __name__ == "__main__":
    word = "perol"
    result = extract_phonetics(word)
    print(f"{word} 的音标:{result}")

步骤3:音标字符处理

提取到的音标包含Unicode特殊字符(如ɾ、ɔ́),Python原生支持Unicode编码,可直接打印、存储或用于后续处理。若需写入文件,需指定编码为utf-8:

with open("phonetics_result.txt", "w", encoding="utf-8") as f:
    f.write(result)

注意事项

  • 频繁请求可能触发网站反爬机制,建议添加请求间隔(如time.sleep(1))
  • 若网站HTML结构更新,需同步调整标签定位的逻辑

内容的提问来源于stack exchange,提问作者Castaño

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:32:03