Advertisement
Tyluur

Untitled

May 21st, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.71 KB | None | 0 0
  1. package com.sevador.utility.loaders;
  2.  
  3. import java.io.BufferedWriter;
  4. import java.io.FileWriter;
  5. import java.net.MalformedURLException;
  6.  
  7. import net.burtleburtle.cache.Cache;
  8. import net.burtleburtle.cache.format.ItemDefinition;
  9.  
  10. /**
  11.  * @author <b>Tyluur</b><tyluur@zandium.org> - <code>Wrote the class</code>
  12.  */
  13. public class GrandExchangePrice implements Runnable {
  14.  
  15.     public static void main(String[] args) {
  16.         GrandExchangePrice price = new GrandExchangePrice();
  17.         price.run();
  18.     }
  19.  
  20.     private static boolean dumpItem(int itemId) {
  21.         String pageName = ItemDefinition.forId(itemId).name;
  22.         if (pageName == null || pageName.equals("null"))
  23.             return false;
  24.         pageName = pageName.replace("(p)", "");
  25.         pageName = pageName.replace("(p+)", "");
  26.         pageName = pageName.replace("(p++)", "");
  27.         pageName = pageName.replaceAll(" ", "_");
  28.         try {
  29.             WebPage page = new WebPage("http://runescape.wikia.com/wiki/"+ pageName);
  30.             try {
  31.                 page.load();
  32.             } catch (Exception e) {
  33.                 System.out.println("Invalid page: " + itemId + ", " + pageName);
  34.                 return false;
  35.             }
  36.             boolean isNextLine = false;
  37.             for (String line : page.getLines()) {
  38.                 if (!isNextLine) {
  39.                     if (line.equals("<th><a href=\"/wiki/Prices#Grand_Exchange_Price\" title=\"Prices\">Exchange price</a>"))
  40.                         isNextLine = true;
  41.                 } else {
  42.                     String examine = line.replace("</th><td> ", "");
  43.                     examine = examine.replace("</th><td>", "");
  44.                     examine = examine.replace("<i> ", "");
  45.                     examine = examine.replace("</i> ", "");
  46.                     examine = examine.replace("&lt;colour&gt; ", "");
  47.                     examine = examine.replace("(bright/thick/warm)", "bright");
  48.                     examine = examine.replace("(Temple of Ikov) ", "");
  49.                     examine = examine.replace("(Fight Arena) ", "");
  50.                     examine = examine.replace("<span id=\"GEPrice\"><span class=\"GEItem\"><span>","");
  51.                     examine = examine.replace("</span></span> coins</span>", "");
  52.                     examine = examine.replace(",", "");
  53.                     examine = examine.replace("<span id=\"GEPrice\">", "");
  54.                     BufferedWriter writer = new BufferedWriter(new FileWriter("./data/geprices.txt", true));
  55.                     writer.write(itemId + " - " + examine);
  56.                     writer.newLine();
  57.                     writer.flush();
  58.                     writer.close();
  59.                     return true;
  60.                 }
  61.             }
  62.         } catch (MalformedURLException e) {
  63.             e.printStackTrace();
  64.         } catch (Exception e) {
  65.             e.printStackTrace();
  66.             return dumpItem(itemId);
  67.         }
  68.         return false;
  69.     }
  70.  
  71.     @Override
  72.     public void run() {
  73.         while (true) {
  74.             Cache.init();
  75.             for (int itemId = 0; itemId < Cache.getAmountOfItems(); itemId++) {
  76.                 if (!ItemDefinition.forId(itemId).isNoted())
  77.                     if (dumpItem(itemId))
  78.                         System.out.println("DUMPED ITEM : " + itemId);
  79.                     else
  80.                         System.out.println("FAILED ITEM: " + itemId + ", "
  81.                                 + ItemDefinition.forId(itemId).getName());
  82.             }
  83.         }
  84.     }
  85.  
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement