SuperAPI AI 工具集

element14

编程与开发

查看项目

更新于 10-15 09:12

技能介绍

element14 技能用于搜索 Newark、Farnell 和 element14 上的电子元器件,支持按制造商零件编号(MPN)或分销商零件编号查找元件、查询价格与库存、下载数据手册。

用途

该技能面向电子元器件选型与采购场景,帮助用户跨区域查找元件信息。一个 API 覆盖三个区域店面,目录和数据手册相同,仅价格与库存因区域而异:Newark 对应北美(www.newark.com),Farnell 对应英国/欧洲(uk.farnell.com),element14 对应亚太(au.element14.com)。

主要能力

  • 元器件搜索:支持关键词(any:<keywords>)、MPN(manuPartNum:<mpn>)和分销商零件编号(id:<sku>)三种搜索模式。
  • 价格与库存查询:返回阶梯价格(prices[],含 from、to、cost)和库存水平(stock.level、stock.statusMessage)。
  • 参数属性:返回 attributes[],包含标签、单位和值,如电容值、额定电压等。
  • 数据手册获取:响应中 datasheets[].url 提供直接 PDF 链接,托管于 farnell.com CDN,无机器人防护,可直接下载。
  • RoHS 合规信息:rohsStatusCode 字段标识是否符合 RoHS。
  • 数据手册同步:提供 sync_datasheets_element14.py 脚本,可为 KiCad 项目维护 datasheets/ 目录,生成与 DigiKey、Mouser、LCSC 技能相同格式的 manifest.json。
  • 单次数据手册下载:提供 fetch_datasheet_element14.py 脚本,支持按 MPN 或分销商编号搜索下载,或直接通过 URL 下载。
  • 批量模式:支持从纯 MPN 列表(每行一个 MPN,跳过空行和 # 注释)批量下载数据手册,无需 KiCad 项目。

使用方式

API 凭证设置

  1. 在 partner.element14.com/member/register 注册免费账户,仅需用户名、邮箱和密码,无需信用卡。
  2. 登录后进入 My API Keys,点击 Get API Keys 注册应用:应用名任意,类型选 Desktop application,用户数选 1-10,商业用途选 No,广告选 No,勾选 Issue a new key for Product Search API 并选择 Basic 层级,同意服务条款后点击 Register Application。
  3. 复制 24 位字母数字 API 密钥,设置环境变量:

export ELEMENT14_API_KEY=your_api_key_here

若凭证存储在集中密钥文件(如 ~/.config/secrets.env),可先加载:

export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)

API 调用

基础 URL:https://api.element14.com/catalog/products

所有请求使用 GET 加查询参数,认证通过 callInfo.apiKey 完成。示例:

GET https://api.element14.com/catalog/products ?term=manuPartNum:GRM155R71C104KA88D &storeInfo.id=www.newark.com &resultsSettings.offset=0 &resultsSettings.numberOfResults=10 &resultsSettings.responseGroup=medium &callInfo.responseDataFormat=JSON &callInfo.apiKey=YOUR_KEY

响应组(responseGroup)可选:small(SKU、displayName、brandName、MPN、attributes)、medium(增加 datasheets[]、prices[]、stock)、large(增加 images、相关产品、原产国)、prices(仅阶梯价格)、inventory(按仓库/区域的库存水平)。

常用 storeInfo.id:www.newark.com(美国,默认)、uk.farnell.com(英国)、www.farnell.com(欧盟)、au.element14.com(澳大利亚)、sg.element14.com(新加坡)、in.element14.com(印度)。

筛选参数:resultsSettings.refinements.filter=rohsCompliant(仅 RoHS 合规)、resultsSettings.refinements.filter=inStock(仅现货)。

分页:resultsSettings.offset(从 0 开始的起始索引)、resultsSettings.numberOfResults(每页最多 50 条),仅前 100 条结果可可靠分页。

数据手册同步脚本

为 KiCad 项目同步数据手册

python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch>

预览将要下载的内容

python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --dry-run

重试之前失败的下载

python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --force

使用特定店面(默认:www.newark.com)

python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --store uk.farnell.com

自定义输出目录

python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> -o ./my-datasheets

并行下载(3 个 worker)

python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --parallel 3

批量模式——从纯 MPN 列表同步(无需 KiCad 项目)

python3 <skill-path>/scripts/sync_datasheets_element14.py --mpn-list mpns.txt --output ./datasheets

该脚本会运行 kicad 原理图分析器提取元件、MPN 和分销商编号,优先使用 MPN 精确搜索,从 farnell.com CDN 下载 PDF,写入 manifest.json,校验 PDF 内容(检查 MPN、制造商和描述关键词),API 调用间隔 0.5 秒(可通过 --delay 配置),并增量保存进度,可安全中断。注意:ELEMENT14_API_KEY 在启动时无条件检查,因此 --dry-run 也需要设置该环境变量,即使不进行网络调用。

单次数据手册下载脚本

按 MPN 搜索

python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" -o datasheet.pdf

按 Newark/Farnell 零件编号搜索

python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "94AK6874" -o datasheet.pdf

直接 URL 下载

python3 <skill-path>/scripts/fetch_datasheet_element14.py "https://www.farnell.com/datasheets/74273.pdf" -o datasheet.pdf

JSON 输出

python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" --json

该脚本使用 requests → urllib → playwright 回退链,校验 PDF 头以拒绝 HTML 错误页,在 element14 URL 失败时回退到其他制造商来源。退出码:0 表示成功,1 表示下载失败,2 表示搜索/API 错误。

依赖:pip install requests(推荐;urllib 回退对 element14 也适用);pip install playwright && playwright install chromium(可选,很少需要)。

Web 搜索回退

若 API 不可用,可直接抓取产品页面搜索: https://www.newark.com/search?st=<query> https://uk.farnell.com/search?st=<query>

适用场景

  • 电子元器件选型与采购,需要跨区域查询价格和库存。
  • 为 KiCad 项目批量获取数据手册并维护本地数据手册目录。
  • 从纯 MPN 列表批量下载数据手册。
  • 需要跨 DigiKey、Mouser、LCSC 交叉参考 MPN 的场景。
  • 国际用户,当 DigiKey/Mouser 运费较高时。

限制

  • 免费账户提供礼节性用量额度:2 次/秒、1000 次/天。除该额度外无文档化的速率限制,建议调用间隔 0.5 秒。
  • 仅前 100 条搜索结果可可靠分页。
  • 每页最多返回 50 条结果。
  • 数据手册 URL 来自 API 响应,需先调用 API 获取。
  • 批量 MPN 列表模式启动时无条件检查 ELEMENT14_API_KEY,即使 --dry-run 也需设置。
  • 与 DigiKey/Mouser 相比,认证更简单(API 密钥作为查询参数,无 OAuth),但功能范围以 Product Search API 为准。