Swizzbeat Posted April 12, 2014 Share 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 Link to comment Share on other sites More sharing options...
Extreme Scripts Posted April 12, 2014 Share Posted April 12, 2014 This can come in handy for some for a Staker script ^_^ Always a great help Swizzy Link to comment Share on other sites More sharing options...