Install
openclaw skills install dmm-ranking-liteFetch DMM/FANZA public rankings (daily/weekly/monthly) without API keys and output top 10 in numbered text format with Japanese title, Chinese translation, and cover image URL. Use when user asks for DMM/FANZA 日榜/周榜/月榜 scraping, top10 extraction, or no-key ranking collection.
openclaw skills install dmm-ranking-lite抓取 DMM/FANZA 公共排行榜并输出 Top10,默认中文说明 + 日文原片名。
日榜、周榜、月榜Top10(或可改为 TopN)term: daily | weekly | monthlycount: 默认 10output_lang: zh-CN(保留日文原片名)必须使用编号块,不要表格:
1.
- 片名(日文):...
- 中文:...
- 封面:...
2.
- 片名(日文):...
- 中文:...
- 封面:...
https://video.dmm.co.jp/av/ranking/?term=<term>はいbrowser(action="act", request.kind="evaluate") 执行提取脚本count 条片名(日文)中文封面browser(action="close")() => {
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;
}
片名(日文) 必须保留原文,不可改写中文 采用简洁自然中文,避免机翻腔snapshot 检查节点,再调整 selectorcover_url:输出 封面:无rows.slice(0, N)