User:Adorable Newcomer/备忘录

大萌字.svg
阅读本用户子页面的任何人都可以参与编辑

部分兼容性较差的CSS特性

特性 兼容版本 替代方案
桌面端浏览器 移动端浏览器(Android/iOS)
Chrome Edge Firefox IE Opera Safari WebView Chrome Firefox Opera Safari Samsung
8位十六进制颜色 #11451480 62 79 49  N 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  N 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 字符串  N N/A ゲーム 搜索关键字(可留空)
targets 字符串  N[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 字符串  N N/A -viewCounter 排序方式,可在开头添加“+”/“-”来指定升序/降序[2],未指定则默认降序
_offset 整数  Y 0 10 返回数据的开始位置,不允许超过100000
_limit 整数  Y 10 10 返回数据的最大条数,不允许超过100
_context 字符串  N N/A apiguide 服务或应用程序名称,填写为apiguide即可。
  1. 原文如此,但实际上当q参数留空时可以省略。
  2. 由于不明原因,指定为升序排列时会报错。

q参数格式

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

字段

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

懒得写,见

返回结果

若无异常,格式如下:

  1. {
  2. "meta": {
  3. "status": 200,
  4. "totalCount": 1,
  5. "id":"594513df-85ea-4122-9859-f4ec2701cacf"
  6. },
  7. "data": [
  8. {
  9. "contentId": "sm9",
  10. "title": "テスト",
  11. "description": "テスト",
  12. "startTime": "2016-11-03T02:09:11+09:00",
  13. "viewCounter": 1
  14. }
  15. ]
  16. }

实例

按tag筛选niconico上的VOCALOID殿堂曲(简化版)
程序
  1. import json
  2. import requests
  3. proxies = {
  4. "http": "127.0.0.1:9910",
  5. "https": "127.0.0.1:9910"
  6. }
  7. def get_from_nicotag():
  8. url = "https://api.search.nicovideo.jp/api/v2/snapshot/video/contents/search"
  9. params = {
  10. "q": "",
  11. "fields": "contentId,title,tags,viewCounter,startTime,thumbnailUrl,userId,description",
  12. "filters[tagsExact][0]": "VOCALOID殿堂入り",
  13. "filters[tagsExact][1]": "VOCALOID伝説入り",
  14. "filters[tagsExact][2]": "VOCALOID神話入り",
  15. "_sort": "-startTime",
  16. "_context": "apiguide",
  17. "_offset": 0,
  18. "_limit": 100
  19. }
  20. res = json.loads(requests.get(url, params, proxies=proxies).text)
  21. data: list[dict] = res["data"]
  22. totalCount: int = res["meta"]["totalCount"]
  23. for ofs in range(100, totalCount, 100):
  24. print(ofs)
  25. params["_offset"] = ofs
  26. res = json.loads(requests.get(url, params, proxies=proxies).text)
  27. data += res["data"]
  28. data.reverse()
  29. with open("templesong_data.json", "w", encoding="UTF-8") as f:
  30. json.dump(data, f, indent=4, ensure_ascii=False)
  31. if __name__ == "__main__":
  32. get_from_nicotag()
输出(投稿文已隐去)
  1. [
  2. {
  3. "startTime": "2007-03-06T21:29:42+09:00",
  4. "viewCounter": 130457,
  5. "contentId": "sm6772",
  6. "thumbnailUrl": "https://nicovideo.cdn.nimg.jp/thumbnails/6772/6772",
  7. "description": "...",
  8. "tags": "3月6日投稿動画 karimono MEIKO VOCALOID VOCALOID実写PV VOCALOID殿堂入り ニコニコ動画内最古のVOCALOID動画 メロディック妹メタル 平成最後のVOCALOID殿堂入り 最古の動画 聖地",
  9. "userId": 44961,
  10. "title": "メロディック妹メタル~妹ライン10/10~"
  11. },
  12. {
  13. "startTime": "2007-05-15T23:20:14+09:00",
  14. "viewCounter": 116437,
  15. "contentId": "sm300345",
  16. "thumbnailUrl": "https://nicovideo.cdn.nimg.jp/thumbnails/300345/300345",
  17. "description": "...",
  18. "tags": "MEIKO MEIKO名曲リンク VOCALOID VOCALOID殿堂入り 天零萃夢 東方VOCALOID 砕月 砕月アレンジ 蒼桐大紀 飛絨毯",
  19. "userId": 152432,
  20. "title": "天零萃夢"
  21. },
  22. {
  23. "startTime": "2007-08-29T14:02:39+09:00",
  24. "viewCounter": 274684,
  25. "contentId": "sm941537",
  26. "thumbnailUrl": "https://nicovideo.cdn.nimg.jp/thumbnails/941537/941537",
  27. "description": "...",
  28. "tags": "01_ballade VOCALOID VOCALOIDデモソング VOCALOID殿堂入り ボカロバラード 全てはここから始まった 公式デモ 初音ミク 星のカケラ 重要ニコニコ文化財 音楽",
  29. "userId": 446988,
  30. "title": "ボーカロイド 初音ミク デモソング"
  31. },
  32. // 后略6423个...
  33. ]
返回顶部