public final static Opponent getById(String id) throws NotFound {
		Opponent o = new Opponent();

		String profilePage = Utils.getString("characters/profile/" + id);

		int pos = profilePage.indexOf("href=\"/fights/start/");
		if (pos == -1) {
			throw new NotFound();
		}

		String page = profilePage.substring(pos);
		page = page.substring(0, page.indexOf("<img"));

		Pattern p = Pattern.compile("/fights/start/([0-9]+)\"",
				Pattern.MULTILINE);
		Matcher m = p.matcher(page);

		if (!m.find()) {
			throw new NotFound();
		}

		o.setAttack("/fights/start/" + m.group(1));

		pos = profilePage.indexOf("<center><b>");
		if (pos == -1) {
			throw new NotFound();
		}

		page = profilePage.substring(pos + "<center><b>".length());
		page = page.substring(0, page.indexOf("</b></center>")).trim();

		o.setName(page);

		return o;
	}