如何根据搜索查询从stackoverflow API获取问题列表?

时间:2015-04-03 13:46:47

标签: json search stackexchange-api

我感兴趣的是根据标签或搜索查询获取问题列表。我会举个例子。

所以,如果我将搜索关键字用作" ipv4",它应该给我一个与ipv4相关的大问题列表。我想要做的就是将问题(标题)作为列表或数组,以便我可以对其进行一些处理。

2 个答案:

答案 0 :(得分:2)

Stackexchange提供https://api.stackexchange.com/docs/advanced-search端点。

例如,继续 selector 会给你这样的东西:

enter image description here

这是最简单的示例,但是正如您将在文档中找到的那样,有许多参数可以根据其执行搜索。其中一些是:

  • 已接受-为true仅返回带有已接受答案的问题,为false仅返回没有答案的问题。省略忽略约束。
  • 答案-返回的问题必须具有的最小答案数。
  • 正文-必须出现在返回的问题正文中的文本。
  • tagged-以分号分隔的标签列表,其中所有返回的问题中至少应有一个。
  • 标题-必须在返回的问题的标题中显示的文本。
  • user-必须拥有返回的问题的用户的ID。
  • ...

希望这会有所帮助!

干杯!

答案 1 :(得分:1)

您可以使用questions/路线获取此信息。在此调用中,您将把您感兴趣的标记传递给tagged参数(以分号(;)分隔)。

  

要约束返回给具有一组标记的问题,请使用带有分号分隔的标记列表的tagged参数。这是一个约束,传递tagged=c;java只返回带有这两个标记的问题。因此,传递超过5个标签将始终返回零结果。

针对您的具体问题(搜索ipv4),您可以将此作为起点:

http://api.stackexchange.com/docs/questions#order=desc&sort=activity&tagged=ipv4&filter=!BHMIbze0EPheMk572h0ktETsgnphhU&site=stackoverflow&run=true

filter是可选的,但我删除了一些默认字段以显示一个较小的示例。上面的链接返回如下所示的条目:

"items": [
{
  "tags": [
    "ruby-on-rails",
    "ipv4",
    "geokit"
  ],
  "link": "http://stackoverflow.com/questions/29460004/rails-geokit-incorrectly-converting-ipv4-address-to-latitude-and-longitude",
  "title": "Rails: Geokit incorrectly converting IPv4 address to latitude and longitude"
},
{
  "tags": [
    "networking",
    "ip",
    "ipv4",
    "maxmind",
    "cidr"
  ],
  "link": "http://stackoverflow.com/questions/28358851/merging-of-multiple-ipv4-address-blocks-on-the-basis-of-their-country-region",
  "title": "merging of multiple IPv4 address blocks on the basis of their country region"
},
...
}