← Back to Skills Marketplace
DMM Ranking Lite
by
leeeroyjoy-pixel
· GitHub ↗
· v0.1.0
328
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dmm-ranking-lite
Description
Fetch DMM/FANZA public rankings (daily/weekly/monthly) without API keys and output top 10 in numbered text format with Japanese title, Chinese translation, a...
README (SKILL.md)
DMM Ranking Lite
抓取 DMM/FANZA 公共排行榜并输出 Top10,默认中文说明 + 日文原片名。
When To Use
- 用户要 DMM/FANZA
日榜、周榜、月榜 - 用户明确要
Top10(或可改为 TopN) - 用户要求无 API Key 的公开页面抓取
Inputs
term:daily|weekly|monthlycount: 默认10output_lang:zh-CN(保留日文原片名)
Output Format
必须使用编号块,不要表格:
1.
- 片名(日文):...
- 中文:...
- 封面:...
2.
- 片名(日文):...
- 中文:...
- 封面:...
Workflow
- 打开榜单页面:
https://video.dmm.co.jp/av/ranking/?term=\x3Cterm>
- 如果出现年龄确认,点击
はい - 使用
browser(action="act", request.kind="evaluate")执行提取脚本 - 按 rank 升序取前
count条 - 输出为编号列表,字段固定为:
片名(日文)中文封面
- 结束后关闭标签页:
browser(action="close")
Extraction Snippet
() => {
const items = Array.from(document.querySelectorAll('main ul > li'));
const rows = [];
for (const li of items) {
const rankMatch = (li.textContent || '').match(/(\d+)位/);
if (!rankMatch) continue;
const rank = Number(rankMatch[1]);
const link =
li.querySelector('h2 a[href*="/av/content/?id="]') ||
li.querySelector('a[href*="/av/content/?id="]');
if (!link) continue;
const href = link.getAttribute('href') || '';
const idMatch = href.match(/[?&]id=([^&]+)/);
const title = (link.textContent || '').replace(/\s+/g, ' ').trim();
const cover = Array.from(li.querySelectorAll('img'))
.map((img) => img.getAttribute('src') || img.getAttribute('data-src') || img.currentSrc || '')
.find((src) => /pics_dig|digital\/video|awsimgsrc\.dmm\.co\.jp/.test(src));
rows.push({
rank,
id: idMatch ? idMatch[1] : null,
title,
content_url: new URL(href, location.origin).href,
cover_url: cover ? new URL(cover, location.origin).href : null,
});
}
rows.sort((a, b) => a.rank - b.rank);
return rows;
}
Translation Rules
片名(日文)必须保留原文,不可改写中文采用简洁自然中文,避免机翻腔- 标题过长时可适度压缩,不改变核心含义
- 明显敏感措辞可中性化,但不要错译
Error Handling
- 页面结构变更:先
snapshot检查节点,再调整 selector - 未拿到
cover_url:输出封面:无 - 抓取不足 10 条:按实际条数输出,并说明“本次仅抓取到 N 条”
- 无法通过年龄确认:重试一次后返回失败原因
Notes
- 仅抓取公开页面,不需要 DMM API 凭据
- 默认 Top10,如需 TopN 请在结果截取阶段改为
rows.slice(0, N) - 若页面改版频繁,优先保持输出格式稳定,必要时更新提取脚本
Usage Guidance
This skill appears to do only on-page scraping of public DMM/FANZA ranking pages and outputs TopN entries; it does not request credentials or install code. Before installing, consider: (1) legal and Terms-of-Service implications of scraping DMM/FANZA in your jurisdiction; (2) whether your agent is permitted to open adult-content pages and perform clicks (age confirmation); (3) respectful scraping practices — add rate limiting and avoid excessive requests; (4) translation quality — the skill asks for natural Chinese output but automatic translation quality may vary. If you need stronger guarantees, ask the skill author for a privacy/TOS statement or to restrict requests/timeout behavior.
Capability Analysis
Type: OpenClaw Skill
Name: dmm-ranking-lite
Version: 0.1.0
The `dmm-ranking-lite` skill is designed to scrape public DMM/FANZA rankings. The `SKILL.md` instructs the agent to navigate to a DMM URL and execute a JavaScript snippet within the browser's sandbox using `browser(action="act", request.kind="evaluate")`. The JavaScript code only reads DOM elements to extract ranking data and does not contain any logic for data exfiltration, malicious execution, persistence, or prompt injection attempts against the agent. All actions are aligned with the stated purpose of web scraping.
Capability Assessment
Purpose & Capability
The name/description (fetch public DMM/FANZA rankings) match the SKILL.md: it opens public ranking pages, handles age confirmation, runs an in-page extraction script, and outputs TopN. No unrelated environment variables, binaries, or installs are requested.
Instruction Scope
SKILL.md gives concrete, bounded instructions: open specific ranking URL, click age confirmation if present, evaluate a provided JS snippet to extract fields, slice to TopN, and close the tab. It does not instruct reading local files, accessing other services, or exfiltrating data to external endpoints.
Install Mechanism
No install spec or code files are present; this is instruction-only, so nothing is downloaded or written to disk by the skill itself.
Credentials
No environment variables, credentials, or config paths are required. The skill works against public pages and explicitly states it needs no API keys.
Persistence & Privilege
The skill is not always-enabled and requests no persistent system privileges. It uses normal browser actions during invocation and does not modify other skills or system configuration.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install dmm-ranking-lite - After installation, invoke the skill by name or use
/dmm-ranking-lite - Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release
Metadata
Frequently Asked Questions
What is DMM Ranking Lite?
Fetch DMM/FANZA public rankings (daily/weekly/monthly) without API keys and output top 10 in numbered text format with Japanese title, Chinese translation, a... It is an AI Agent Skill for Claude Code / OpenClaw, with 328 downloads so far.
How do I install DMM Ranking Lite?
Run "/install dmm-ranking-lite" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is DMM Ranking Lite free?
Yes, DMM Ranking Lite is completely free (open-source). You can download, install and use it at no cost.
Which platforms does DMM Ranking Lite support?
DMM Ranking Lite is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created DMM Ranking Lite?
It is built and maintained by leeeroyjoy-pixel (@leeeroyjoy-pixel); the current version is v0.1.0.
More Skills