Erinevus lehekülje "ITI0011:praktikum 14" redaktsioonide vahel
(Ago teisaldas lehekülje ITI0011:praktikum 14 pealkirja ITI0011-2014:praktikum 14 alla) |
|||
1. rida: | 1. rida: | ||
− | + | == Kood == | |
+ | |||
+ | <source lang="java"> | ||
+ | package wiki; | ||
+ | |||
+ | import java.io.BufferedReader; | ||
+ | import java.io.IOException; | ||
+ | import java.io.InputStreamReader; | ||
+ | import java.net.MalformedURLException; | ||
+ | import java.net.URL; | ||
+ | import java.net.URLEncoder; | ||
+ | |||
+ | /** | ||
+ | * Wikipedia API which allows to | ||
+ | * extract information about an entity. | ||
+ | * A simple example of jar creation | ||
+ | * and usage. | ||
+ | * @author Ago | ||
+ | * | ||
+ | */ | ||
+ | public class WikiAPI { | ||
+ | |||
+ | |||
+ | /** | ||
+ | * Used to get output in json format. | ||
+ | */ | ||
+ | public static int FORMAT_JSON = 1; | ||
+ | /** | ||
+ | * Used to get output in xml format. | ||
+ | */ | ||
+ | public static int FORMAT_XML = 2; | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | // TODO Auto-generated method stub | ||
+ | System.out.println(getWikiInformation("Main page", WikiAPI.FORMAT_JSON)); | ||
+ | System.out.println(getWikiInformation("Estonia", WikiAPI.FORMAT_JSON)); | ||
+ | System.out.println(getWikiInformation("Tallinn", WikiAPI.FORMAT_JSON, "info", "recentchanges")); | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | /** | ||
+ | * Uses Wikipedia API to retrieve general information about | ||
+ | * a certain page in XML-format. | ||
+ | * @param pageName Page title to be searched for | ||
+ | * @return Response in XML-format | ||
+ | */ | ||
+ | public static String getWikiInformation(String pageName) { | ||
+ | return getWikiInformation(pageName, FORMAT_XML); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Uses Wikipedia API to retrieve general information about | ||
+ | * a certain page. | ||
+ | * @param pageName Page title to be searched for | ||
+ | * @param format In which format the response is returned, | ||
+ | * use WikiAPI.FORMAT_* constants. | ||
+ | * @return Response in the specified format | ||
+ | */ | ||
+ | public static String getWikiInformation(String pageName, int format) { | ||
+ | return getWikiInformation(pageName, format, "info", null); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Uses Wikipedia API to retrieve information about | ||
+ | * a certain page. | ||
+ | * @param pageName Page title to be searched for | ||
+ | * @param format In which format the response is returned, | ||
+ | * use WikiAPI.FORMAT_* constants. | ||
+ | * @param prop Value for "prop" parameter (properties) | ||
+ | * @param list Value for "list" parameter | ||
+ | * @return Response in the specified format | ||
+ | */ | ||
+ | public static String getWikiInformation(String pageName, int format, | ||
+ | String prop, String list) { | ||
+ | |||
+ | String formatString = "json"; | ||
+ | if (format == WikiAPI.FORMAT_XML) { | ||
+ | formatString = "xml"; | ||
+ | } | ||
+ | String listStr = ""; | ||
+ | if (list != null) { | ||
+ | listStr = "&list=" + list; | ||
+ | } | ||
+ | try { | ||
+ | URL url = new URL("http://en.wikipedia.org/w/api.php?format=" | ||
+ | + formatString | ||
+ | + "&continue=" | ||
+ | + "&action=query&titles=" | ||
+ | + URLEncoder.encode(pageName, "UTF-8") | ||
+ | + "&prop=" + prop + listStr); | ||
+ | BufferedReader br = new BufferedReader( | ||
+ | new InputStreamReader(url.openStream())); | ||
+ | String line; | ||
+ | StringBuilder sb = new StringBuilder(); | ||
+ | while ((line = br.readLine()) != null) { | ||
+ | sb.append(line); | ||
+ | } | ||
+ | return sb.toString(); | ||
+ | |||
+ | } catch (MalformedURLException e) { | ||
+ | // TODO Auto-generated catch block | ||
+ | return null; | ||
+ | } catch (IOException e) { | ||
+ | // TODO Auto-generated catch block | ||
+ | return null; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </source> |
Viimane redaktsioon: 19. märts 2015, kell 08:58
Kood
<source lang="java"> package wiki;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder;
/**
* Wikipedia API which allows to * extract information about an entity. * A simple example of jar creation * and usage. * @author Ago * */
public class WikiAPI {
/**
* Used to get output in json format.
*/
public static int FORMAT_JSON = 1;
/**
* Used to get output in xml format.
*/
public static int FORMAT_XML = 2;
public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(getWikiInformation("Main page", WikiAPI.FORMAT_JSON)); System.out.println(getWikiInformation("Estonia", WikiAPI.FORMAT_JSON)); System.out.println(getWikiInformation("Tallinn", WikiAPI.FORMAT_JSON, "info", "recentchanges"));
}
/**
* Uses Wikipedia API to retrieve general information about
* a certain page in XML-format.
* @param pageName Page title to be searched for
* @return Response in XML-format
*/
public static String getWikiInformation(String pageName) {
return getWikiInformation(pageName, FORMAT_XML);
}
/** * Uses Wikipedia API to retrieve general information about * a certain page. * @param pageName Page title to be searched for * @param format In which format the response is returned, * use WikiAPI.FORMAT_* constants. * @return Response in the specified format */ public static String getWikiInformation(String pageName, int format) { return getWikiInformation(pageName, format, "info", null); }
/** * Uses Wikipedia API to retrieve information about * a certain page. * @param pageName Page title to be searched for * @param format In which format the response is returned, * use WikiAPI.FORMAT_* constants. * @param prop Value for "prop" parameter (properties) * @param list Value for "list" parameter * @return Response in the specified format */ public static String getWikiInformation(String pageName, int format, String prop, String list) {
String formatString = "json"; if (format == WikiAPI.FORMAT_XML) { formatString = "xml"; } String listStr = ""; if (list != null) { listStr = "&list=" + list; } try { URL url = new URL("http://en.wikipedia.org/w/api.php?format=" + formatString + "&continue=" + "&action=query&titles=" + URLEncoder.encode(pageName, "UTF-8") + "&prop=" + prop + listStr); BufferedReader br = new BufferedReader( new InputStreamReader(url.openStream())); String line; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null) { sb.append(line); } return sb.toString();
} catch (MalformedURLException e) { // TODO Auto-generated catch block return null; } catch (IOException e) { // TODO Auto-generated catch block return null; } }
}
</source>