置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

User:Adorable Newcomer/备忘录

猛汉♂百科,万男皆可猛的百科全书!转载请标注来源页面的网页链接,并声明引自猛汉百科。内容不可商用。
跳到导航 跳到搜索
大萌字.svg
阅读本用户子页面的任何人都可以参与编辑

部分兼容性较差的CSS特性

特性 兼容版本 替代方案
桌面端浏览器 移动端浏览器(Android/iOS)
Chrome Edge Firefox IE Opera Safari WebView Chrome Firefox Opera Safari Samsung
8位十六进制颜色 #11451480 62 79 49 Red XN 49 10 62 62 49 47 9.3 8.0 使用rgba()
rgba(11,45,14,0.5)
渐变色起始终止点 linear-gradient(#ADCEF7 33%,
#B5D2F4 33% 67%, #A9C9F0 67%)
71 79 64 Red XN 58 12.1 71 71 64 50 12.2 10.0 分开写

然而WAWEI自己用旧版webkit弄了个WebView,结果支持下面那个但不支持上面那个,,,

niconico搜索API

以下内容原来自 https://site.nicovideo.jp/search-api-docs/snapshot

niconico搜索API文档。该API返回的数据有缓存,每日凌晨5:00(UTC+9)刷新此处取得上次缓存刷新时间

URL

https://api.search.nicovideo.jp/api/v2/snapshot/video/contents/search

参数一览

参数 类型 可省略 缺省值 说明
q 字符串 Red XN N/A ゲーム 搜索关键字(可留空)
targets 字符串 Red XN[1] N/A title,description,tags 在何处搜索关键字(若指定多个,需用逗号分隔):
  • 使用关键词搜索时,指定为title,description,tags
  • 精确搜索标签时,指定为tagsExact
  • 不使用关键字时,可留空。
fields 字符串 ✓Y N/A contentId,title,description,tags 返回数据中需包含的字段,具体见下文“字段”段落。
filters 字符串 ✓Y N/A - 筛选字段,具体格式见下文“筛选”段落。
jsonFilter 字符串 ✓Y N/A - 复杂筛选,具体格式见下文“JSON筛选”段落。
_sort 字符串 Red XN N/A -viewCounter 排序方式,可在开头添加“+”/“-”来指定升序/降序[2],未指定则默认降序
_offset 整数 ✓Y 0 10 返回数据的开始位置,不允许超过100000
_limit 整数 ✓Y 10 10 返回数据的最大条数,不允许超过100
_context 字符串 Red XN N/A apiguide 服务或应用程序名称,填写为apiguide即可。
  1. 原文如此,但实际上当q参数留空时可以省略。
  2. 由于不明原因,指定为升序排列时会报错。

q参数格式

可使用“OR”和“-”,方法和用途与Help:搜索/搜索代码中一致。也可使用""(半角双引号)进行精确搜索。

字段

参数 类型 用于fields 用于_sort 用于filters 说明
contentId 字符串 ✓Y Red XN ✓Y 即sm号。
title 字符串 ✓Y Red XN Red XN 视频标题。
description 字符串 ✓Y Red XN Red XN 视频投稿文。
userId 整数 ✓Y Red XN Red XN 投稿者的用户ID(若有),可使用这个API获取更多信息
channelId 整数 ✓Y Red XN Red XN 频道ID(若有),不知道怎么获取更多信息
viewCounter 整数 ✓Y ✓Y ✓Y 再生数
mylistCounter 整数 ✓Y ✓Y ✓Y 收藏数
likeCounter 整数 ✓Y ✓Y ✓Y いいね!
lengthSeconds 整数 ✓Y ✓Y ✓Y 视频长度(单位:秒)
thumbnailUrl 字符串 ✓Y Red XN Red XN 封面图链,https://nicovideo.cdn.nimg.jp/thumbnails/o/o.x格式
startTime 字符串 ✓Y ✓Y ✓Y 投稿时间(ISO8601格式[1],返回值默认UTC+9)
lastResBody 字符串 ✓Y Red XN Red XN 最新评论
commentCounter 整数 ✓Y ✓Y ✓Y 评论数
lastCommentTime 字符串 ✓Y ✓Y ✓Y 最新评论时间(ISO8601格式[1],返回值默认UTC+9)
categoryTags 字符串 ✓Y Red XN ✓Y 分类标签
tags 字符串 ✓Y Red XN ✓Y 标签(空格分隔)
tagsExact 字符串 Red XN Red XN ✓Y 精确标签(空格分隔)
genre 字符串 ✓Y Red XN ✓Y 分区
genre.keyword 字符串 Red XN Red XN ✓Y 精确分区
  1. 1.0 1.1 YYYY-MM-DDThh:mm:ss±hh:mm

筛选

一般筛选:filter[字段][数字下标]=值
  • 例:
    1. 再生数等于100,000:filters[viewCounter][0]=1000000
    2. 游戏分区:filters[genre][0]=ゲーム
数字/日期筛选:filter[字段][lt/lte/gt/gte]=值
  • lt=<,lte=≤,gt=>,gte=≥
  • 例:
    1. 传说直前:filters[viewCounter][gte]=900000&filters[viewCounter][lt]=1000000
    2. 2014年投稿:filters[startTime][gte]=2014-01-01T00:00:00+09:00&filters[startTime][lt]=2015-01-01T00:00:00+09:00

JSON筛选

懒得写,见

返回结果

若无异常,格式如下:

{
    "meta": {
        "status": 200,
        "totalCount": 1,
        "id":"594513df-85ea-4122-9859-f4ec2701cacf"
    },
    "data": [
        {
            "contentId": "sm9",
            "title": "テスト",
            "description": "テスト",
            "startTime": "2016-11-03T02:09:11+09:00",
            "viewCounter": 1
        }
    ]
}

实例

按tag筛选niconico上的VOCALOID殿堂曲(简化版)
程序
import json
import requests

proxies = {
    "http": "127.0.0.1:9910",
    "https": "127.0.0.1:9910"
}

def get_from_nicotag():
    url = "https://api.search.nicovideo.jp/api/v2/snapshot/video/contents/search"
    params = {
        "q": "",
        "fields": "contentId,title,tags,viewCounter,startTime,thumbnailUrl,userId,description",
        "filters[tagsExact][0]": "VOCALOID殿堂入り",
        "filters[tagsExact][1]": "VOCALOID伝説入り",
        "filters[tagsExact][2]": "VOCALOID神話入り",
        "_sort": "-startTime",
        "_context": "apiguide",
        "_offset": 0,
        "_limit": 100
    }
    res = json.loads(requests.get(url, params, proxies=proxies).text)
    data: list[dict] = res["data"]
    totalCount: int = res["meta"]["totalCount"]
    for ofs in range(100, totalCount, 100):
        print(ofs)
        params["_offset"] = ofs
        res = json.loads(requests.get(url, params, proxies=proxies).text)
        data += res["data"]
    data.reverse()
    with open("templesong_data.json", "w", encoding="UTF-8") as f:
        json.dump(data, f, indent=4, ensure_ascii=False)

if __name__ == "__main__":
    get_from_nicotag()
输出(投稿文已隐去)
[
    {
        "startTime": "2007-03-06T21:29:42+09:00",
        "viewCounter": 130457,
        "contentId": "sm6772",
        "thumbnailUrl": "https://nicovideo.cdn.nimg.jp/thumbnails/6772/6772",
        "description": "...",
        "tags": "3月6日投稿動画 karimono MEIKO VOCALOID VOCALOID実写PV VOCALOID殿堂入り ニコニコ動画内最古のVOCALOID動画 メロディック妹メタル 平成最後のVOCALOID殿堂入り 最古の動画 聖地",
        "userId": 44961,
        "title": "メロディック妹メタル~妹ライン10/10~"
    },
    {
        "startTime": "2007-05-15T23:20:14+09:00",
        "viewCounter": 116437,
        "contentId": "sm300345",
        "thumbnailUrl": "https://nicovideo.cdn.nimg.jp/thumbnails/300345/300345",
        "description": "...",
        "tags": "MEIKO MEIKO名曲リンク VOCALOID VOCALOID殿堂入り 天零萃夢 東方VOCALOID 砕月 砕月アレンジ 蒼桐大紀 飛絨毯",
        "userId": 152432,
        "title": "天零萃夢"
    },
    {
        "startTime": "2007-08-29T14:02:39+09:00",
        "viewCounter": 274684,
        "contentId": "sm941537",
        "thumbnailUrl": "https://nicovideo.cdn.nimg.jp/thumbnails/941537/941537",
        "description": "...",
        "tags": "01_ballade VOCALOID VOCALOIDデモソング VOCALOID殿堂入り ボカロバラード 全てはここから始まった 公式デモ 初音ミク 星のカケラ 重要ニコニコ文化財 音楽",
        "userId": 446988,
        "title": "ボーカロイド 初音ミク デモソング"
    },
    // 后略6423个...
]