提交 2fd13efc 编写于 作者: 幻灰龙's avatar 幻灰龙

Merge branch 'master' into 'master'

增加带版本标签集

See merge request csdn/csdn-tags!14
"图像处理",
"计算机视觉",
"自然语言处理",
"语音识别",
"机器翻译",
"机器学习",
"神经网络",
"深度学习",
"迁移学习",
"强化学习",
"集成学习",
"联邦学习",
"人机对话",
"知识图谱",
"图计算",
"情感分析",
"目标检测",
"目标跟踪",
"生成对抗网络",
"协同过滤",
"语言模型",
"智能推荐",
"tensorflow",
"pytorch",
"oneflow",
"opencv",
"keras",
"caffe",
"sklearn",
"mxnet",
"mlnet",
"mllib",
"paddlepaddle",
"jittor",
"deeplearning4j",
"mindspore",
"cnn",
"rnn",
"lstm",
"gru",
"dnn",
"mnn",
"alexnet",
"googlenet",
"deepfm",
"boosting",
"tensorrt",
"yolo",
"elmo",
"transformer",
"word2vec",
"doc2vec",
"glove",
"xlnet",
"bert",
"nnlm",
"lda主题模型",
"deepdive",
[
]
\ No newline at end of file
......@@ -11,42 +11,63 @@ from scrapy.settings import Settings
class InfoQSpider(scrapy.Spider):
name = "infoq_tags"
allowed_domains = ["infoq.cn"]
start_urls = ['https://www.infoq.cn/topics']
start_urls = ['https://www.infoq.cn/public/v1/topic/getList']
custom_settings = {
'ITEM_PIPELINES':{'tag_source.infoq.TagPipeline': 301},
'LOG_LEVEL': 'INFO'
'LOG_LEVEL': 'INFO',
'COOKIES_ENABLED': True,
}
def __init__(self):
self.page_count = 0
self.totgal_pages = 654
def start_requests(self):
# 浏览器用户代理
headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.41'
}
# 指定cookies
cookies = {
'LF_ID': '1596546004203-7769949-7289805',
'GRID': '8ed2875-174b7fd-6ad9862-31c4b7f',
'SERVERID': '3431a294a18c59fc8f5805662e2bd51e|1619058525|1619058010'
}
urls = [
'https://www.infoq.cn/public/v1/topic/getList'
]
for url in urls:
yield scrapy.Request(url=url, headers=headers, cookies=cookies, callback=self.parse)
def parse(self, response):
self.page_count += 1
print(response.body)
tags = response.css('.navigation-list')
print(tags)
for tag in tags:
name = tag.xpath('h2/a/text()').get()
desc = tag.xpath('p/text()').get()
star = tag.xpath('div/strong/text()').get()
with open('test.html', 'w') as f:
f.write(response.text)
# tags = response.css('li>div>.title')
# print(tags)
# for tag in tags:
# name = tag.xpath('h2/a/text()').get()
# desc = tag.xpath('p/text()').get()
# star = tag.xpath('div/strong/text()').get()
yield {
'name': name,
'desc': desc,
'star': star
}
# yield {
# 'name': name,
# 'desc': desc,
# 'star': star
# }
next_page_list = response.css('.next')
if len(next_page_list)>0:
next_page_item = next_page_list[len(next_page_list)-1]
next_page = next_page_item.css('a::attr(href)').get()
print('next_page:', next_page)
yield response.follow(next_page, callback=self.parse, dont_filter=True)
# next_page_list = response.css('.next')
# if len(next_page_list)>0:
# next_page_item = next_page_list[len(next_page_list)-1]
# next_page = next_page_item.css('a::attr(href)').get()
# print('next_page:', next_page)
# yield response.follow(next_page, callback=self.parse, dont_filter=True)
class TagPipeline(object):
def open_spider(self, spider):
self.file = open('dataset/segmentfault.tag.json', 'w')
self.file = open('dataset/infoq.tag.json', 'w')
self.file.write('[\n')
self.count = 0
self.tags = {}
......
[
{
"category_id": "12",
"category_name": "编程语言",
"tags": [
{
"tag_id": 95,
"tag_name": "c语言"
},
{
"tag_id": 83,
"tag_name": "c++"
},
{
"tag_id": 288,
"tag_name": "c#"
},
{
"tag_id": 2886,
"tag_name": "perl"
},
{
"tag_id": 13,
"tag_name": "java"
},
{
"tag_id": 83797,
"tag_name": "erlang"
},
{
"tag_id": 133891,
"tag_name": "golang"
},
{
"tag_id": 190,
"tag_name": "javascript"
},
{
"tag_id": 87460,
"tag_name": "objective-c"
},
{
"tag_id": 109316,
"tag_name": "kotlin"
},
{
"tag_id": 72537,
"tag_name": "swift"
},
{
"tag_id": 515,
"tag_name": "qt"
},
{
"tag_id": 2135,
"tag_name": "lua"
},
{
"tag_id": 300,
"tag_name": "ruby"
},
{
"tag_id": 74791,
"tag_name": "bash"
},
{
"tag_id": 75630,
"tag_name": "batch"
},
{
"tag_id": 88232,
"tag_name": "julia"
},
{
"tag_id": 6880,
"tag_name": "r语言"
},
{
"tag_id": 73819,
"tag_name": "scala"
},
{
"tag_id": 82780,
"tag_name": "typescript"
},
{
"tag_id": 45,
"tag_name": "php"
},
{
"tag_id": 8,
"tag_name": "python"
},
{
"tag_id": 200024,
"tag_name": "rust"
},
{
"tag_id": 76116,
"tag_name": "lisp"
}
]
},
{
"category_id": 1002,
"category_name": "游戏",
"tags": [
{
"tag_id": 75014,
"tag_name": "游戏引擎"
},
{
"tag_id": 200027,
"tag_name": "虚幻"
},
{
"tag_id": 102175,
"tag_name": "ue4"
},
{
"tag_id": 200029,
"tag_name": "ue5"
},
{
"tag_id": 4865,
"tag_name": "unity"
},
{
"tag_id": 200031,
"tag_name": "godot"
},
{
"tag_id": 172,
"tag_name": "cocos2d"
},
{
"tag_id": 200033,
"tag_name": "cryengine"
},
{
"tag_id": 200034,
"tag_name": "lumberyard"
},
{
"tag_id": 2509,
"tag_name": "ogre"
},
{
"tag_id": 7985,
"tag_name": "pygame"
},
{
"tag_id": 97567,
"tag_name": "vr"
},
{
"tag_id": 76404,
"tag_name": "ar"
},
{
"tag_id": 200039,
"tag_name": "mr"
},
{
"tag_id": 200040,
"tag_name": "xr"
},
{
"tag_id": 132043,
"tag_name": "图形渲染"
},
{
"tag_id": 106926,
"tag_name": "着色器"
},
{
"tag_id": 78382,
"tag_name": "maya"
},
{
"tag_id": 76719,
"tag_name": "3dsmax"
},
{
"tag_id": 131830,
"tag_name": "blender"
},
{
"tag_id": 200046,
"tag_name": "cinema4d"
},
{
"tag_id": 200047,
"tag_name": "zbrush"
},
{
"tag_id": 200048,
"tag_name": "3dcoat"
},
{
"tag_id": 200049,
"tag_name": "topogun"
},
{
"tag_id": 200050,
"tag_name": "rizomuv"
},
{
"tag_id": 200051,
"tag_name": "substance designer"
},
{
"tag_id": 200052,
"tag_name": "substance painter"
},
{
"tag_id": 200053,
"tag_name": "quixel"
},
{
"tag_id": 105876,
"tag_name": "houdini"
},
{
"tag_id": 200055,
"tag_name": "数字雕刻"
},
{
"tag_id": 200056,
"tag_name": "重拓扑"
},
{
"tag_id": 92009,
"tag_name": "uv"
},
{
"tag_id": 200058,
"tag_name": "骨骼绑定"
},
{
"tag_id": 131803,
"tag_name": "材质"
},
{
"tag_id": 86384,
"tag_name": "贴图"
},
{
"tag_id": 208,
"tag_name": "动画"
},
{
"tag_id": 200062,
"tag_name": "关卡设计"
},
{
"tag_id": 200063,
"tag_name": "游戏程序"
},
{
"tag_id": 200064,
"tag_name": "游戏美术"
},
{
"tag_id": 200065,
"tag_name": "游戏策划"
},
{
"tag_id": 131818,
"tag_name": "技术美术"
},
{
"tag_id": 200067,
"tag_name": "cascadeur"
},
{
"tag_id": 131924,
"tag_name": "spine"
}
]
},
{
"category_id": "11",
"category_name": "前端",
"tags": [
{
"tag_id": 190,
"tag_name": "javascript"
},
{
"tag_id": 82780,
"tag_name": "typescript"
},
{
"tag_id": 87999,
"tag_name": "node.js"
},
{
"tag_id": 104887,
"tag_name": "layui"
},
{
"tag_id": 317,
"tag_name": "jquery"
},
{
"tag_id": 7658,
"tag_name": "bootstrap"
},
{
"tag_id": 104836,
"tag_name": "angular.js"
},
{
"tag_id": 4662,
"tag_name": "easyui"
},
{
"tag_id": 110463,
"tag_name": "elementui"
},
{
"tag_id": 90670,
"tag_name": "vue.js"
},
{
"tag_id": 105656,
"tag_name": "react.js"
},
{
"tag_id": 80378,
"tag_name": "echarts"
},
{
"tag_id": 97466,
"tag_name": "electron"
}
]
},
{
"category_id": "20",
"category_name": "大数据",
"tags": [
{
"tag_id": 104561,
"tag_name": "big data"
},
{
"tag_id": 168,
"tag_name": "database"
},
{
"tag_id": 411,
"tag_name": "mysql"
},
{
"tag_id": 94,
"tag_name": "oracle"
},
{
"tag_id": 5453,
"tag_name": "mongodb"
},
{
"tag_id": 133782,
"tag_name": "postgresql"
},
{
"tag_id": 5044,
"tag_name": "redis"
},
{
"tag_id": 79026,
"tag_name": "memcache"
},
{
"tag_id": 71,
"tag_name": "sqlite"
},
{
"tag_id": 8946,
"tag_name": "spark"
},
{
"tag_id": 75246,
"tag_name": "kafka"
},
{
"tag_id": 8767,
"tag_name": "zookeeper"
},
{
"tag_id": 107876,
"tag_name": "eureka"
},
{
"tag_id": 124330,
"tag_name": "etcd"
},
{
"tag_id": 130944,
"tag_name": "consul"
},
{
"tag_id": 72615,
"tag_name": "rabbitmq"
},
{
"tag_id": 11350,
"tag_name": "flume"
},
{
"tag_id": 11351,
"tag_name": "elasticsearch"
},
{
"tag_id": 3256,
"tag_name": "hadoop"
},
{
"tag_id": 2807,
"tag_name": "hbase"
},
{
"tag_id": 4633,
"tag_name": "hive"
},
{
"tag_id": 126431,
"tag_name": "flink"
},
{
"tag_id": 5988,
"tag_name": "storm"
},
{
"tag_id": 200106,
"tag_name": "时序数据库"
},
{
"tag_id": 200107,
"tag_name": "tdengine"
}
]
},
{
"category_id": 1005,
"category_name": "数据结构与算法",
"tags": [
{
"tag_id": 970,
"tag_name": "数据结构"
},
{
"tag_id": 68,
"tag_name": "算法"
},
{
"tag_id": 4861,
"tag_name": "链表"
},
{
"tag_id": 99646,
"tag_name": "散列表"
},
{
"tag_id": 200112,
"tag_name": "宽度优先"
},
{
"tag_id": 200113,
"tag_name": "广度优先"
},
{
"tag_id": 200114,
"tag_name": "深度优先"
},
{
"tag_id": 200115,
"tag_name": "迭代加深"
},
{
"tag_id": 127386,
"tag_name": "启发式算法"
},
{
"tag_id": 200117,
"tag_name": "图搜索算法"
},
{
"tag_id": 10398,
"tag_name": "动态规划"
},
{
"tag_id": 200119,
"tag_name": "爬山算法"
},
{
"tag_id": 97632,
"tag_name": "模拟退火算法"
},
{
"tag_id": 7382,
"tag_name": "贪心算法"
},
{
"tag_id": 75556,
"tag_name": "排序算法"
},
{
"tag_id": 80623,
"tag_name": "决策树"
},
{
"tag_id": 82472,
"tag_name": "最小二乘法"
},
{
"tag_id": 127818,
"tag_name": "逻辑回归"
},
{
"tag_id": 2777,
"tag_name": "线性回归"
},
{
"tag_id": 125113,
"tag_name": "支持向量机"
},
{
"tag_id": 200128,
"tag_name": "近邻算法"
},
{
"tag_id": 200129,
"tag_name": "均值算法"
},
{
"tag_id": 76792,
"tag_name": "kmeans"
},
{
"tag_id": 105125,
"tag_name": "随机森林"
},
{
"tag_id": 77715,
"tag_name": "leetcode"
},
{
"tag_id": 200133,
"tag_name": "预编码算法"
},
{
"tag_id": 92729,
"tag_name": "b树"
},
{
"tag_id": 200135,
"tag_name": "霍夫曼树"
},
{
"tag_id": 200136,
"tag_name": "剪枝"
},
{
"tag_id": 200137,
"tag_name": "哈希算法"
},
{
"tag_id": 128198,
"tag_name": "推荐算法"
}
]
},
{
"category_id": "14",
"category_name": "人工智能",
"tags": [
{
"tag_id": 7798,
"tag_name": "计算机视觉"
},
{
"tag_id": 81858,
"tag_name": "自然语言处理"
},
{
"tag_id": 7741,
"tag_name": "语音识别"
},
{
"tag_id": 200142,
"tag_name": "机器翻译"
},
{
"tag_id": 9056,
"tag_name": "机器学习"
},
{
"tag_id": 76498,
"tag_name": "神经网络"
},
{
"tag_id": 75181,
"tag_name": "深度学习"
},
{
"tag_id": 101797,
"tag_name": "知识图谱"
},
{
"tag_id": 8506,
"tag_name": "目标检测"
},
{
"tag_id": 95981,
"tag_name": "目标跟踪"
},
{
"tag_id": 128486,
"tag_name": "生成对抗网络"
},
{
"tag_id": 200150,
"tag_name": "语言模型"
},
{
"tag_id": 95253,
"tag_name": "tensorflow"
},
{
"tag_id": 131351,
"tag_name": "pytorch"
},
{
"tag_id": 200153,
"tag_name": "oneflow"
},
{
"tag_id": 772,
"tag_name": "opencv"
},
{
"tag_id": 101531,
"tag_name": "keras"
},
{
"tag_id": 75179,
"tag_name": "caffe"
},
{
"tag_id": 82402,
"tag_name": "sklearn"
},
{
"tag_id": 130622,
"tag_name": "mxnet"
},
{
"tag_id": 200159,
"tag_name": "mlnet"
},
{
"tag_id": 85155,
"tag_name": "mllib"
},
{
"tag_id": 200161,
"tag_name": "paddlepaddle"
},
{
"tag_id": 82889,
"tag_name": "cnn"
},
{
"tag_id": 105695,
"tag_name": "rnn"
},
{
"tag_id": 125783,
"tag_name": "lstm"
},
{
"tag_id": 200165,
"tag_name": "gru"
},
{
"tag_id": 127146,
"tag_name": "dnn"
},
{
"tag_id": 200167,
"tag_name": "mnn"
},
{
"tag_id": 200168,
"tag_name": "boosting"
},
{
"tag_id": 200169,
"tag_name": "transformer"
},
{
"tag_id": 88461,
"tag_name": "word2vec"
},
{
"tag_id": 200171,
"tag_name": "xlnet"
},
{
"tag_id": 200172,
"tag_name": "bert"
}
]
},
{
"category_id": "21",
"category_name": "开发工具",
"tags": [
{
"tag_id": 133820,
"tag_name": "idea"
},
{
"tag_id": 101801,
"tag_name": "jupyter"
},
{
"tag_id": 12123,
"tag_name": "pycharm"
},
{
"tag_id": 86148,
"tag_name": "vscode"
},
{
"tag_id": 5,
"tag_name": "eclipse"
},
{
"tag_id": 72486,
"tag_name": "vim"
},
{
"tag_id": 134720,
"tag_name": "phpstorm"
},
{
"tag_id": 133738,
"tag_name": "myeclipse"
},
{
"tag_id": 235,
"tag_name": "git"
},
{
"tag_id": 233,
"tag_name": "github"
},
{
"tag_id": 2236,
"tag_name": "svn"
},
{
"tag_id": 200184,
"tag_name": "visualstudio"
},
{
"tag_id": 97326,
"tag_name": "postman"
}
]
},
{
"category_id": 1008,
"category_name": "网络",
"tags": [
{
"tag_id": 88795,
"tag_name": "网络协议"
},
{
"tag_id": 6133,
"tag_name": "网络安全"
},
{
"tag_id": 92581,
"tag_name": "tcp/ip"
},
{
"tag_id": 555,
"tag_name": "udp"
},
{
"tag_id": 2,
"tag_name": "http"
},
{
"tag_id": 625,
"tag_name": "https"
},
{
"tag_id": 624,
"tag_name": "ssl"
},
{
"tag_id": 170,
"tag_name": "p2p"
},
{
"tag_id": 11493,
"tag_name": "tcpdump"
},
{
"tag_id": 2125,
"tag_name": "wireshark"
},
{
"tag_id": 6071,
"tag_name": "websocket"
}
]
},
{
"category_id": 1009,
"category_name": "嵌入式",
"tags": [
{
"tag_id": 122,
"tag_name": "arm"
},
{
"tag_id": 80946,
"tag_name": "物联网"
},
{
"tag_id": 127778,
"tag_name": "iot"
},
{
"tag_id": 80507,
"tag_name": "mcu"
},
{
"tag_id": 7886,
"tag_name": "51单片机"
},
{
"tag_id": 2699,
"tag_name": "stm32"
},
{
"tag_id": 78112,
"tag_name": "proteus"
},
{
"tag_id": 101008,
"tag_name": "嵌入式硬件"
},
{
"tag_id": 2282,
"tag_name": "单片机"
},
{
"tag_id": 200206,
"tag_name": "嵌入式实时数据库"
},
{
"tag_id": 200207,
"tag_name": "rtdbs"
}
]
},
{
"category_id": "19",
"category_name": "区块链",
"tags": [
{
"tag_id": 108369,
"tag_name": "区块链"
},
{
"tag_id": 200209,
"tag_name": "信任链"
},
{
"tag_id": 125174,
"tag_name": "比特币"
},
{
"tag_id": 200211,
"tag_name": "libra"
},
{
"tag_id": 108368,
"tag_name": "以太坊"
},
{
"tag_id": 200213,
"tag_name": "数字货币"
},
{
"tag_id": 200214,
"tag_name": "去中心化"
},
{
"tag_id": 200215,
"tag_name": "分布式账本"
},
{
"tag_id": 200216,
"tag_name": "共识算法"
},
{
"tag_id": 200217,
"tag_name": "同态加密"
},
{
"tag_id": 200218,
"tag_name": "零知识证明"
}
]
},
{
"category_id": 1011,
"category_name": "移动开发",
"tags": [
{
"tag_id": 126122,
"tag_name": "flutter"
},
{
"tag_id": 6,
"tag_name": "ios"
},
{
"tag_id": 31,
"tag_name": "xcode"
},
{
"tag_id": 3,
"tag_name": "android"
},
{
"tag_id": 88086,
"tag_name": "xamarin"
},
{
"tag_id": 105129,
"tag_name": "reactnative"
}
]
},
{
"category_id": "3",
"category_name": "微软技术",
"tags": [
{
"tag_id": 200225,
"tag_name": ".netcore"
},
{
"tag_id": 5152,
"tag_name": "asp.net"
},
{
"tag_id": 288,
"tag_name": "c#"
},
{
"tag_id": 82780,
"tag_name": "typescript"
},
{
"tag_id": 2415,
"tag_name": "linq"
},
{
"tag_id": 124081,
"tag_name": "hololens"
},
{
"tag_id": 200086,
"tag_name": "mssql"
},
{
"tag_id": 133843,
"tag_name": "sqlserver"
},
{
"tag_id": 77352,
"tag_name": "azure"
},
{
"tag_id": 778,
"tag_name": "wpf"
},
{
"tag_id": 840,
"tag_name": "mfc"
},
{
"tag_id": 576,
"tag_name": ".net"
}
]
},
{
"category_id": "24",
"category_name": "测试",
"tags": [
{
"tag_id": 6525,
"tag_name": "单元测试"
},
{
"tag_id": 200234,
"tag_name": "模块测试"
},
{
"tag_id": 122726,
"tag_name": "集成测试"
},
{
"tag_id": 200236,
"tag_name": "测试覆盖率"
},
{
"tag_id": 78038,
"tag_name": "压力测试"
},
{
"tag_id": 200238,
"tag_name": "安全性测试"
},
{
"tag_id": 75519,
"tag_name": "测试工具"
},
{
"tag_id": 200240,
"tag_name": "威胁分析"
},
{
"tag_id": 79491,
"tag_name": "测试用例"
},
{
"tag_id": 200242,
"tag_name": "可用性测试"
},
{
"tag_id": 96395,
"tag_name": "ab测试"
}
]
},
{
"category_id": 1014,
"category_name": "软件工程",
"tags": [
{
"tag_id": 200244,
"tag_name": "个人开发"
},
{
"tag_id": 79886,
"tag_name": "需求分析"
},
{
"tag_id": 200246,
"tag_name": "规格说明书"
},
{
"tag_id": 79940,
"tag_name": "结对编程"
},
{
"tag_id": 200248,
"tag_name": "极限编程"
},
{
"tag_id": 80356,
"tag_name": "团队开发"
},
{
"tag_id": 200250,
"tag_name": "敏捷流程"
},
{
"tag_id": 84005,
"tag_name": "sprint"
},
{
"tag_id": 83933,
"tag_name": "scrum"
},
{
"tag_id": 75494,
"tag_name": "jira"
},
{
"tag_id": 8311,
"tag_name": "tfs"
}
]
},
{
"category_id": 1015,
"category_name": "设计模式",
"tags": [
{
"tag_id": 3409,
"tag_name": "uml"
},
{
"tag_id": 76224,
"tag_name": "开闭原则"
},
{
"tag_id": 200257,
"tag_name": "里氏替换原则"
},
{
"tag_id": 200258,
"tag_name": "依赖倒置原则"
},
{
"tag_id": 200259,
"tag_name": "单一职责原则"
},
{
"tag_id": 200260,
"tag_name": "接口隔离原则"
},
{
"tag_id": 200261,
"tag_name": "迪米特法则"
},
{
"tag_id": 200262,
"tag_name": "合成复用原则"
},
{
"tag_id": 74366,
"tag_name": "单例模式"
},
{
"tag_id": 200264,
"tag_name": "原型模式"
},
{
"tag_id": 133407,
"tag_name": "简单工厂模式"
},
{
"tag_id": 200266,
"tag_name": "工厂方法模式"
},
{
"tag_id": 200267,
"tag_name": "抽象工厂模式"
},
{
"tag_id": 200268,
"tag_name": "建造者模式"
},
{
"tag_id": 87467,
"tag_name": "代理模式"
},
{
"tag_id": 200270,
"tag_name": "适配器模式"
},
{
"tag_id": 87725,
"tag_name": "桥接模式"
},
{
"tag_id": 200272,
"tag_name": "装饰器模式"
},
{
"tag_id": 200273,
"tag_name": "外观模式"
},
{
"tag_id": 200274,
"tag_name": "享元模式"
},
{
"tag_id": 200275,
"tag_name": "组合模式"
},
{
"tag_id": 200276,
"tag_name": "模板方法模式"
},
{
"tag_id": 200277,
"tag_name": "策略模式"
},
{
"tag_id": 85807,
"tag_name": "命令模式"
},
{
"tag_id": 200279,
"tag_name": "责任链模式"
},
{
"tag_id": 200280,
"tag_name": "状态模式"
},
{
"tag_id": 96217,
"tag_name": "观察者模式"
},
{
"tag_id": 200282,
"tag_name": "中介者模式"
},
{
"tag_id": 99090,
"tag_name": "迭代器模式"
},
{
"tag_id": 97798,
"tag_name": "访问者模式"
},
{
"tag_id": 200285,
"tag_name": "备忘录模式"
},
{
"tag_id": 200286,
"tag_name": "解释器模式"
}
]
},
{
"category_id": 1016,
"category_name": "操作系统",
"tags": [
{
"tag_id": 479,
"tag_name": "linux"
},
{
"tag_id": 2231,
"tag_name": "windows"
},
{
"tag_id": 75722,
"tag_name": "gnu"
},
{
"tag_id": 104751,
"tag_name": "macos"
},
{
"tag_id": 200291,
"tag_name": "blackberry"
},
{
"tag_id": 135203,
"tag_name": "harmonyos"
},
{
"tag_id": 2367,
"tag_name": "centos"
},
{
"tag_id": 587,
"tag_name": "ubuntu"
},
{
"tag_id": 121397,
"tag_name": "risc-v"
}
]
}
]
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册