Advertisement
Guest User

Page

a guest
Sep 26th, 2012
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.58 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3.  
  4. public class Page   {
  5.  
  6.     private String html;
  7.     private ArrayList<String> links;
  8.     private ArrayList<String> words;
  9.    
  10.    
  11.     public Page()   {
  12.         this(new String(""));
  13.     }
  14.  
  15.    
  16.     public Page(String html)    {
  17.         setHTML(html);
  18.     }
  19.    
  20.    
  21.     public void setHTML(String html)    {
  22.         this.html = html;
  23.         processLinks();
  24.         processWords();
  25.     }
  26.    
  27.  
  28.     public int numLinks()   {
  29.         return links.size();
  30.     }
  31.    
  32.  
  33.     public String getLink(int index)    {
  34.         return links.get(index);
  35.     }
  36.  
  37.    
  38.     public String[] getLinks()  {
  39.         return links.toArray(new String[links.size()]);
  40.     }
  41.  
  42.  
  43.     public String[] getWords()  {
  44.         return words.toArray(new String[words.size()]);
  45.     }
  46.    
  47.     private void processWords() {
  48.         String data = this.html;
  49.         // Attempt to remove HTML tags
  50.         String noHTML = data.replaceAll("\\<.*?\\>", "");
  51.         // Get all of the distinct phrases left, make them all lowercase
  52.         String[] tempWords = noHTML.split(" ");
  53.         for (String t : tempWords) {
  54.             t = t.toLowerCase();
  55.         }
  56.    
  57.         words = new ArrayList<String>(Arrays.asList(tempWords));
  58.    
  59.     }
  60.    
  61.     private void processLinks() {
  62.         String data = this.html;
  63.         String link = "a href";
  64.         ArrayList<String> links = new ArrayList<String>();
  65.         int find;
  66.         int lastFind = 0;
  67.         try {
  68.             while((find = data.indexOf(link,lastFind)) != -1)   {
  69.                 int startFind = data.indexOf("\"", find);
  70.                 int endFind = data.indexOf("\"",startFind+1);
  71.                 String theLink = data.substring(startFind+1,endFind);
  72.                 links.add(theLink);
  73.                 lastFind = endFind;
  74.             }
  75.         }
  76.         catch (Exception e) {
  77.  
  78.         }
  79.         this.links = links;
  80.     }
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement