在Stack Overflow上使用的所有标签列表

15

我正在建设一个分类IT问题的网站。如何获取Stack Overflow上使用的所有标签的内容?

我需要使用相同的标签功能,并单独使用相同的内容。

如何提取所有标签的内容?(应该有几千个标签。)


4
请将以下内容翻译成中文:这应该在meta.stackoverflow.com上发布,并使用数据查询工具,[类似于这样](http://data.stackexchange.com/stackoverflow/query/edit/380388)。 此外,有超过四万... 这应该发布在meta.stackoverflow.com上,并使用数据查询工具,像这样。此外,还有超过40,000... - DavidG
1
2022年11月4日,Stack Overflow上的一个答案被授予了救生艇徽章 - Peter Mortensen
但是也必须有一个关于这类问题应该属于哪里的元问题... - Peter Mortensen
2个回答

23
您可以利用Stack Exchange数据浏览器来收集此类信息。
下面的查询将提取所有标签、它们的摘要和维基内容:
select 
  t.tagName,
  e.body as 'Excerpt',
  w.body as 'WikiBody'
from tags t
left join Posts e
  on t.ExcerptPostId = e.Id
left join Posts w
  on t.WikiPostId = w.Id
order by t.tagName

在这篇文章发布时,它返回了42,553行。

请注意,并非所有标签都有摘录或维基内容。


1
Andy,你有没有想法如何获取类似标签的关系表呢?比如,如果你添加了“php”标签,它会显示“php5”、“php4”等标签作为相似标签。 - Irtiza shahid

4

我在Andy的回答的基础上进行了拓展,并收集了每个标签的同义词:

select e.id,
  count(t.tagName),
  string_agg(TagSynonyms.SourceTagName, ',') as synonyms,
  t.tagName,
  e.body as 'Excerpt',
  w.body as 'WikiBody'
from tags t
left join Posts e
  on t.ExcerptPostId = e.Id
left join Posts w
  on t.WikiPostId = w.Id
left join TagSynonyms 
  on TagSynonyms.TargetTagName = t.tagName
group by t.tagName, e.body, w.body, e.id
order by  count(t.tagName) desc

链接在这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接