Swizzbeat Posted April 12, 2014 Posted April 12, 2014 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.util.HashMap; import java.util.Map; /** * Created with IntelliJ IDEA * User: Anthony * Date: 4/1/2014 */ public class SkillChecker { private static final String URL_BASE = "http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1="; public static Map<String, Integer> retrievePlayerLevelForSkill(String playerName, String... skillNames) throws IOException { Map<String, Integer> skillPairs = new HashMap<String, Integer>(); BufferedReader reader = new BufferedReader(new InputStreamReader(new URL(URL_BASE + playerName.replace(" ", "_")).openStream(), "UTF-8")); String stringRead; while ((stringRead = reader.readLine()) != null) { for (String current : skillNames) { if (stringRead.equalsIgnoreCase(current)) { for (int i = 0; i < 2; i++) { reader.readLine(); } skillPairs.put(current.toUpperCase().charAt(0) + current.substring(1), Integer.parseInt(reader.readLine().replace("<td align=\"right\">", "").replace("</td>", ""))); break; } } } reader.close(); return (skillPairs.size() > 0) ? skillPairs : null; } } I'm not very familiar with data streams so for some of you this may look disgusting. Please provide me with any ways to improve it
Extreme Scripts Posted April 12, 2014 Posted April 12, 2014 This can come in handy for some for a Staker script ^_^ Always a great help Swizzy