Newer
Older
KA-Visual / src / getUrlResults.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;

public class getUrlResults {
	private static int UnknownHostExceptionCount = 0;
	public static List<String> getSearchResults(String searchText) {
		return getWordsList(downloadUrl(searchText), searchText);
	}
	
	public static List<String> getWordsList(List<String> linesList, String searchText) {
		List<String> resultList = new ArrayList<String>();
		String lookForText = "<a class='detailslink' href='Details.aspx?word=";
		
		for (String line : linesList) {
			if (line.contains(lookForText)) {
				String word = line.substring(lookForText.length() + 2, lookForText.length() + 2 + searchText.length());
				if (word.equals("%c3%")) continue;
				System.out.println(word);
				resultList.add(word);
			}
		}
		
		return resultList;
	}

	public static List<String> downloadUrl(String searchWord) {
		List<String> linesList = new ArrayList<String>();

		URL url;
		InputStream is = null;
		BufferedReader br;
		String line;

		try {
			url = new URL("http://www.kryssakuten.se/Search.aspx?stype=ord-som-matchar-monster&sword=" + searchWord);
			is = url.openStream();  //Throws an IOException
			br = new BufferedReader(new InputStreamReader(is));

			while ((line = br.readLine()) != null) {
				linesList.add(line);
			}

		} catch (MalformedURLException mue) {
			mue.printStackTrace();
		} catch (UnknownHostException uhe) {
			System.err.println("Error: [" + ++UnknownHostExceptionCount + "] No internet connection.");
		} catch (IOException ioe) {
			ioe.printStackTrace();
		} finally {
			try {
				if (is != null) is.close();
			} catch (IOException ioe) { }
		}

		return linesList;
	}
}