Swift:从Wiki文章API中提取部分

时间:2019-03-17 13:00:58

标签: json swift wikipedia-api

我想从维基百科文章https://en.wikipedia.org/wiki/January_4

中提取“事件”部分

但是我不知道该怎么做。我正在使用SwiftyJSON和Alamofire。

我设法使用摘录通过以下代码获得了文章的第一段:

func requestWikiInfo(pickedDate : String){
    let parameters : [String:String] = [

        "format" : "json",
        "action" : "query",
        "prop" : "extracts",
        "exintro" : "",
        "explaintext" : "",
        "titles" : pickedDate,
        "indexpageids" : "",
        "redirects" : "1"

    ]


    Alamofire.request(wikipediaURL, method: .get, parameters: parameters).responseJSON { (response) in
        if response.result.isSuccess{
            print("We got the wikipedia info")
            //print(response)

            let dateJSON : JSON = JSON(response.result.value!)
            print(JSON(response.result.value))
            let pageid = dateJSON["query"]["pageids"][0].stringValue

            let dateDescription = dateJSON["query"]["pages"][pageid]["extract"].stringValue

            self.dayDescriptionText.text = dateDescription
        }
    }
}

谢谢。

1 个答案:

答案 0 :(得分:0)

使用此命令:https://en.wikipedia.org/w/api.php?format=json&action=parse&page=January_4&prop=text&section=1

删除&section = 1将返回所有wikitext,而不仅仅是事件部分(这始终是页面的第一部分吗?)。如果要进一步调整,请参见the parse docs