Skip to content

An interface to the Wikimedia (Wikipedia, Wiktionary, etc.) API written in Go.

License

Notifications You must be signed in to change notification settings

ciehanski/go-wikimedia

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-wikimedia

go-wikimedia is an interface to the Wikimedia (Wikipedia, Wiktionary, etc.) API implemented in the Go programming language.

This project was originally created by Patrick Mylund Nielsen. I forked his repo for my project pastime. If you notice a bug, feel free to submit an issue on this repo.

Installation

go get github.com/ciehanski/go-wikimedia

Documentation

https://godoc.org/github.com/ciehanski/go-wikimedia

or from the CLI:

go doc github.com/ciehanski/go-wikimedia

Usage

package main

import (
	"fmt"
	"log"
	"net/http"
	"net/url"
	
	"github.com/ciehanski/go-wikimedia"
)

func main() {
    wiki, err := wikimedia.New(wikimedia.Options{
    	Client:    http.DefaultClient,
    	URL:       "https://en.wikipedia.org/w/api.php",
    	UserAgent: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 " +
    		"(KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    })
    if err != nil {
    	log.Fatal(err.Error())
    }
    resp, err := wiki.Query(url.Values{
        "action":      {"query"},
        "prop":        {"extracts"},
        "titles":      {"Osmosis|Procrastination"},
        "exsentences": {"5"},
        "explaintext": {"1"},
        "original":    {"source"},
    })
    if err != nil {
    	log.Fatalf("Error executing query: %s", err.Error())
    }
    for _, v := range resp.Query.Pages {
    	fmt.Println(v.Title, "-", v.Extract)
    }
}

Contributing

Please feel free to contribute and submit any PRs to this project.

License

MIT

About

An interface to the Wikimedia (Wikipedia, Wiktionary, etc.) API written in Go.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%