ScreenScraper WebAPI v2 文档(中文翻译)
注意:版本 2 处于 Beta 测试阶段,此版本的 API 可能随时会进行修改,恕不另行通知。
API 简介
我们的 API 允许您获取 ScreenScraper 的所有数据和媒体资源,以便集成到您的应用程序中:前端界面、实用工具等。
所有请求都可以返回 XML、JSON 或 ini 格式的数据。
谁可以使用此 API?
ScreenScraper API 只能集成到完全免费且公开发布的应用程序中,否则需要事先获得 ScreenScraper 团队的授权并遵守其规定的条件。 违反此规则可能导致账号被封禁,甚至可能面临法律诉讼!
如果您是开发者并希望集成我们的 API,请通过论坛联系我们介绍您的软件,获取 API 所需的开发者 ID 和密码。
如何向 API 发送请求?
通过 GET 类型的 URL 请求向 ScreenScraper API 发送信息和/或媒体请求,返回 XML 或 JSON 文档。
游戏搜索示例:
https://api.screenscraper.fr/api2/jeuInfos.php?devid=xxx&devpassword=yyy&softname=zzz&ssid=test&sspassword=test&output=xml&crc=50ABC90A&systemeid=1&romtype=rom&romnom=Sonic%20The%20Hedgehog%202%20(World).zip&romtaille=749652允许同时向 API 发送多少请求?
根据用户对数据库的贡献程度(内容贡献或资金贡献),系统会分配不同数量的「线程」。
什么是「线程」?
某些抓取软件(如 Universal XML Scraper)允许您同时处理多个 ROM,而不是逐个处理,从而节省抓取时间。
同时抓取的数量就是所谓的「线程」。
例如,拥有 4 个线程意味着您可以同时抓取 4 个 ROM,这将大大节省时间。
但请注意,这会占用更多计算机资源和带宽,尤其是会更多地访问数据库和服务器。
因此,我们建立了「奖励」系统。为了感谢您为 ScreenScraper 数据库做出的贡献,我们为您提供更高效的资源使用权限。
如何获得更多「线程」?
有两种简单的方法:
- 通过提交新信息或新媒体资源参与数据库建设
- 通过 Tipee 或 Patreon 资助数据库托管费用
我可以获得多少「线程」?
请查阅常见问题了解更多信息。
每分钟和每天允许向 API 发送多少请求?
自 2019 年中左右,API 引入了「配额」系统,以避免服务器过载。
该系统根据用户的等级和资金参与情况,限制每个用户每分钟和每天的 API 访问权限。
请查阅常见问题了解更多信息。
配额信息会在用户数据中返回,以便软件可以直接集成和管理。
软件端的配额管理现在是强制性的,以避免不必要地占用服务器资源。
错误返回
API 请求在出现问题时会返回 HTTP 错误代码:
| 错误代码 | 描述 | 原因 |
|---|---|---|
| 400 | URL 问题 | API 调用 URL 不包含任何信息 |
| 400 | URL 中缺少必填字段 | API 调用 URL 中缺少最低必填字段 |
| 400 | ROM 文件名错误:包含路径 | 发送的 ROM 文件名格式为 “!mnt!sda1!batocera!roms!…” |
| 400 | CRC、MD5 或 SHA1 字段错误 | CRC、MD5 或 SHA1 字段格式不正确 |
| 400 | ROM 文件名问题 | ROM 文件名不符合规范 |
| 401 | API 对非会员或不活跃会员关闭 | 服务器过载(CPU 使用率 > 60%) |
| 403 | 登录错误:请检查开发者凭据! | 开发者凭据错误 |
| 404 | 错误:未找到游戏!/ 错误:未找到 ROM/ISO/文件夹! | 无法在请求的 ROM 中找到匹配项 |
| 423 | API 完全关闭 | 服务器出现严重问题 |
| 426 | 使用的抓取软件已被列入黑名单(不兼容/版本过旧) | 需要更换软件版本 |
| 429 | 已达到会员允许的线程数 | 需要降低请求速度 |
| 429 | 已达到会员每分钟允许的线程数 | 需要降低请求速度 |
| 429 | 已达到 leecher 用户允许的最大线程数 | 需要降低请求速度 |
| 430 | 今天的抓取配额已用完! | 用户当天抓取了超过 x 个 ROM |
| 431 | 请整理您的 ROM 文件,明天再来! | 用户抓取了超过 x 个未被 ScreenScraper 识别的 ROM |
API 请求列表
- ssinfraInfos.php:ScreenScraper 基础设施信息
- ssuserInfos.php:ScreenScraper 用户信息
- userlevelsListe.php:ScreenScraper 用户等级列表
- nbJoueursListe.php:玩家数量列表
- supportTypesListe.php:支持类型列表
- romTypesListe.php:ROM 类型列表
- regionsListe.php:区域列表
- languesListe.php:语言列表
- genresListe.php:游戏类型列表
- famillesListe.php:游戏系列列表
- classificationsListe.php:分级列表(游戏评级)
- mediasSystemeListe.php:系统媒体列表
- mediasJeuListe.php:游戏媒体列表
- infosJeuListe.php:游戏信息列表
- infosRomListe.php:ROM 信息列表
- mediaGroup.php:下载游戏组媒体图片
- mediaCompagnie.php:下载公司媒体图片
- systemesListe.php:系统列表 / 系统信息 / 系统媒体信息
- mediaSysteme.php:下载系统媒体图片
- mediaVideoSysteme.php:下载系统视频媒体
- jeuRecherche.php:按名称搜索游戏
- jeuInfos.php:游戏信息 / 游戏媒体
- mediaJeu.php:下载游戏媒体图片
- mediaVideoJeu.php:下载游戏视频媒体
- mediaManuelJeu.php:下载游戏手册
- botNote.php:自动发送游戏评分系统
- botProposition.php:自动发送信息或媒体建议系统
ssinfraInfos.php
ScreenScraper 基础设施信息
输入参数
- devid:您的开发者 ID
- devpassword:您的开发者密码
- softname:调用软件名称
- output:xml(默认)或 json
返回元素
项目:serveurs(ScreenScraper 服务器信息)
- cpu1:服务器 1 的 CPU 使用率(过去 5 分钟平均值)
- cpu2:服务器 2 的 CPU 使用率(过去 5 分钟平均值)
- cpu3:服务器 3 的 CPU 使用率(过去 5 分钟平均值)
- threadsmin:自上次分钟以来的 API 访问次数
- nbscrapeurs:自上次分钟以来使用 API 的抓取器数量
- apiacces:当天(GMT+1)的 API 访问次数
状态
- closefornomember:API 是否对匿名用户关闭(0:开放 / 1:关闭)
- closeforleecher:API 是否对未参与贡献的会员关闭(0:开放 / 1:关闭)
配额
- maxthreadfornonmember:匿名用户最大同时线程数
- threadfornonmember:匿名用户当前线程数
- maxthreadformember:会员最大同时线程数
- threadformember:会员当前线程数
调用示例
https://api.screenscraper.fr/api2/ssinfraInfos.php?devid=xxx&devpassword=yyy&softname=zzz&output=xmlssuserInfos.php
ScreenScraper 用户信息
输入参数
- devid:您的开发者 ID
- devpassword:您的开发者密码
- softname:调用软件名称
- output:xml(默认)或 json
- ssid:ScreenScraper 用户 ID
- sspassword:ScreenScraper 用户密码
返回元素
项目:ssuser(ScreenScraper 用户信息)
- id:用户昵称
- numid:用户数字 ID
- niveau:用户等级
- contribution:资金贡献等级(2 = 1 个额外线程 / 3 及以上 = 5 个额外线程)
- uploadsysteme:用户提交的有效系统媒体计数
- uploadinfos:用户提交的有效文本信息计数
- romasso:用户提交的有效 ROM 关联计数
- uploadmedia:用户提交的有效游戏媒体计数
- propositionok:版主通过的建议数量
- propositionko:版主拒绝的建议数量
- quotarefu:建议拒绝百分比
线程
- maxthreads:允许的线程数
- maxdownloadspeed:允许的下载速度(KB/s)
配额
- requeststoday:当天 API 调用总数
- requestskotoday:返回负面结果的 API 调用数
- maxrequestspermin:每分钟最大 API 调用数
- maxrequestsperday:每天最大 API 调用数
- maxrequestskoperday:每天返回负面结果的最大 API 调用数
- visites:访问次数
- datedernierevisite:最后访问日期(格式:yyyy-mm-jj hh:mm
) - favregion:偏好区域(france, europe, usa, japon)
调用示例
https://api.screenscraper.fr/api2/ssuserInfos.php?devid=xxx&devpassword=yyy&softname=zzz&output=xml&ssid=&sspassword=systemesListe.php
系统列表 / 系统信息 / 系统媒体信息
输入参数
- devid:您的开发者 ID
- devpassword:您的开发者密码
- softname:调用软件名称
- output:xml(默认)或 json
- ssid(非必填):ScreenScraper 用户 ID
- sspassword(非必填):ScreenScraper 用户密码
返回元素
项目:systeme(xml)/ systemes(json)
- id:系统数字 ID
- parentid:父系统数字 ID
- noms:按区域的系统名称
- extensions:可用的 ROM 文件扩展名
- compagnie:生产公司名称
- type:系统类型(Arcade, Console, Console Portable, Emulation Arcade, Flipper, Online, Ordinateur, Smartphone)
- datedebut:生产开始年份
- datefin:生产结束年份
- romtype:ROM 类型
- supporttype:原始支持类型
- medias:系统媒体(logo、wheel、照片、视频、bezel、背景等)
调用示例
https://api.screenscraper.fr/api2/systemesListe.php?devid=xxx&devpassword=yyy&softname=zzz&output=XML&ssid=test&sspassword=testjeuInfos.php
游戏信息 / 游戏媒体
输入参数
- devid:您的开发者 ID
- devpassword:您的开发者密码
- softname:调用软件名称
- output:xml(默认)或 json
- ssid(非必填):ScreenScraper 用户 ID
- sspassword(非必填):ScreenScraper 用户密码
- crc:ROM/ISO/文件夹的 CRC 校验值
- md5:ROM/ISO/文件夹的 MD5 校验值
- sha1:ROM/ISO/文件夹的 SHA1 校验值
- systemeid:系统数字 ID
- romtype:ROM 类型(单个 ROM 文件 / 单个 ISO 文件 / 文件夹)
- romnom:文件名(含扩展名)或文件夹名
- romtaille:文件或文件夹的大小(字节)
- serialnum:使用序列号强制搜索游戏
- gameid:使用游戏数字 ID 强制搜索
返回元素
项目:jeu
- id:游戏数字 ID
- romid:ROM 数字 ID
- notgame:(true/false)指示 ROM 是否被分配到非游戏(demo/应用等)
- nom:游戏名称
- noms:按区域的游戏名称
- cloneof:克隆 ID
- systeme:系统信息
- editeur:发行商名称
- developpeur:开发商名称
- joueurs:玩家数量
- note:评分(满分 20)
- synopsis:按语言的游戏描述
- classifications:游戏分级
- dates:按区域的发布日期
- genres:游戏类型
- modes:游戏模式
- familles:游戏系列
- themes:游戏主题
- styles:游戏风格
- medias:游戏媒体(截图、同人、视频、wheel、包装盒、支持、传单、手册、bezel)
- roms:已知 ROM 列表
调用示例
https://api.screenscraper.fr/api2/jeuInfos.php?devid=xxx&devpassword=yyy&softname=zzz&output=xml&ssid=test&sspassword=test&crc=50ABC90A&systemeid=1&romtype=rom&romnom=Sonic%20The%20Hedgehog%202%20(World).zip&romtaille=749652jeuRecherche.php
按名称搜索游戏(返回最多 30 个按概率排序的游戏)
输入参数
- devid:您的开发者 ID
- devpassword:您的开发者密码
- softname:调用软件名称
- output:xml(默认)或 json
- ssid(非必填):ScreenScraper 用户 ID
- sspassword(非必填):ScreenScraper 用户密码
- systemeid(非必填):系统数字 ID
- recherche:要搜索的游戏名称
调用示例
https://api.screenscraper.fr/api2/jeuRecherche.php?devid=xxx&devpassword=yyy&softname=zzz&output=xml&ssid=test&sspassword=test&systemeid=1&recherche=sonicmediaJeu.php
下载游戏媒体图片
输入参数
- devid:您的开发者 ID
- devpassword:您的开发者密码
- softname:调用软件名称
- ssid(非必填):ScreenScraper 用户 ID
- sspassword(非必填):ScreenScraper 用户密码
- crc:本地图片的 CRC 校验值
- md5:本地图片的 MD5 校验值
- sha1:本地图片的 SHA1 校验值
- systemeid:系统数字 ID
- jeuid:游戏数字 ID
- media:要返回的媒体文本 ID
输出参数
- maxwidth(非必填):返回图片的最大宽度(像素)
- maxheight(非必填):返回图片的最大高度(像素)
- outputformat(非必填):返回图片格式:png 或 jpg
返回元素
- PNG 图片
- 或文本 CRCOK / MD5OK / SHA1OK(如果与服务器相同)
- 或文本 NOMEDIA(如果未找到)
调用示例
https://api.screenscraper.fr/api2/mediaJeu.php?devid=xxx&devpassword=yyy&softname=zzz&ssid=test&sspassword=test&crc=&md5=&sha1=&systemeid=1&jeuid=3&media=wheel-hd(wor)媒体类型列表
| 类型 | 说明 | 格式 | 区域 | 支持编号 | 多版本 |
|---|---|---|---|---|---|
| sstitle | 标题截图 | jpg | 必填 | ||
| ss | 截图 | jpg | 必填 | ||
| fanart | 同人图 | jpg | |||
| video | 视频 | mp4 | |||
| overlay | 覆盖层 | png | 必填 | ||
| steamgrid | Steam 网格图 | jpg | |||
| wheel | Wheel | png | 必填 | ||
| wheel-hd | 高清 Logo | png | 必填 | ||
| marquee | Marquee | png | |||
| screenmarquee | 屏幕 Marquee | png | 必填 | ||
| box-2D | 包装盒:正面 | png | 必填 | 必填 | |
| box-2D-side | 包装盒:侧面 | png | 必填 | 必填 | |
| box-2D-back | 包装盒:背面 | png | 必填 | 必填 | |
| box-texture | 包装盒:材质 | png | 必填 | 必填 | |
| manuel | 手册 | 必填 | |||
| flyer | 传单 | jpg | 必填 | 必填 | |
| maps | 地图 | jpg | 是 | ||
| figurine | 手办 | png | |||
| support-texture | 支持:材质 | png | 必填 | 必填 | |
| bezel-4-3 | Bezel 4:3 水平 | png | 必填 | ||
| bezel-16-9 | Bezel 16:9 水平 | png | 必填 |
其他请求
关于其他请求(genresListe、famillesListe、regionsListe、languesListe 等),请查阅 ScreenScraper 网站上的完整文档。
基于 ScreenScraper WebAPI v2 文档翻译 - https://www.screenscraper.fr
分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 8 天
部分内容可能已过时