package com.ssu.ykj.booksearch;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Iterator;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import net.htmlparser.jericho.Element;
import net.htmlparser.jericho.HTMLElementName;
import net.htmlparser.jericho.Source;
import android.R;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.EditText;
public class BookParser {
 private String key1;
 ArrayList<BookData> data;
 BookParser(String key){
  this.key1=key;
 }
 public ArrayList<BookData> getBookData(final String info,final int count,final int start){
  data=new ArrayList<BookData>();
  int a = 1, b = 0;
  b = a + 5;
//  BookData item=null;
//
//  String m_searchinfo="";
//
//  try{
//   m_searchinfo=URLEncoder.encode(info, "UTF8"); // 검색정보 인코딩
//  } catch(UnsupportedEncodingException e1){
//   e1.printStackTrace();
//  }
  //    WebDriver driver = new HtmlUnitDriver();
  //    //driver.get("http://oasis.ssu.ac.kr/dlsearch/portal_api/openurl.asp?kind=total&searchmethod=kwrd&query=검색어");
  //    driver.get("http://oasis.ssu.ac.kr/DLSearch/DLSearch/TOTWSearchList_ListTable.asp?syskey=SYSTOT&sysdiv=TOT&searchmethod=KWRD&mainmenuno=008&strTableFormType=List&ViewType=%C5%EB%C7%D5&ViewQuery=[%C5%B0%BF%F6%B5%E5/%20%BC%AD%B8%ED:android]&searchquery=%28%5Bandroid%20%2CTOT00%2C2%2C1%2C3%5D%29AND%20NOT%20%5B1%2CTOT00%2C3%2C25%2C3%5D");
  //    
  //    
  //    ArrayList<WebElement> allElements = (ArrayList<WebElement>) driver.findElements(By.xpath("//<a href="\"javascript:handleLink"));
  //    for(WebElement el : allElements) {
  //     String text = el.getText();
  //    }
  
  
//  try {
//   URL url;
//   InputStream html;
//   url = new URL("http://oasis.ssu.ac.kr/DLSearch/DLSearch/TOTWSearchList_ListTable.asp?syskey=SYSTOT&sysdiv=TOT&searchmethod=KWRD&mainmenuno=008&strTableFormType=List&ViewType=%C5%EB%C7%D5&ViewQuery=[%C5%B0%BF%F6%B5%E5/%20%BC%AD%B8%ED:android]&searchquery=%28%5Bandroid%20%2CTOT00%2C2%2C1%2C3%5D%29AND%20NOT%20%5B1%2CTOT00%2C3%2C25%2C3%5D");
//
//   Source source;
//   html = url.openStream();
//   source = new Source(new InputStreamReader(html, "euc-kr"));
//   source.fullSequentialParse();
//   ArrayList<Element> aList = (ArrayList<Element>) source.getAllElements(HTMLElementName.A);
//   Iterator<Element> aIter = aList.iterator();
//   while(aIter.hasNext()) {
//    BookData bookItem = new BookData();
//    Element e = aIter.next();
//    bookItem.title = e.getContent().getTextExtractor().toString();
//    data.add(bookItem);
//    
//   }
//  } catch (UnsupportedEncodingException e1) {
//   // TODO Auto-generated catch block
//   Log.d("B", e1.getMessage());
//  } catch (IOException e1) {
//   // TODO Auto-generated catch block
//   Log.d("B", e1.getMessage());
//  }
  
  HttpClient client = new DefaultHttpClient();
  HttpGet request = new HttpGet("http://oasis.ssu.ac.kr/DLSearch/DLSearch/TOTWSearchList_ListTable.asp?syskey=SYSTOT&sysdiv=TOT&searchmethod=KWRD&mainmenuno=008&strTableFormType=List&ViewType=%C5%EB%C7%D5&ViewQuery=[%C5%B0%BF%F6%B5%E5/%20%BC%AD%B8%ED:android]&searchquery=%28%5Bandroid%20%2CTOT00%2C2%2C1%2C3%5D%29AND%20NOT%20%5B1%2CTOT00%2C3%2C25%2C3%5D");
  HttpResponse response;
  try {
   response = client.execute(request);
   String html = "";
   InputStream in = response.getEntity().getContent();
   BufferedReader reader = new BufferedReader(new InputStreamReader(in));
   StringBuilder str = new StringBuilder();
   String line = null;
   while((line = reader.readLine()) != null)
   {
       str.append(line);
   }
   in.close();
   html = str.toString();
  } catch (ClientProtocolException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  Log.i("NET", "Parsing...");
  return data;
 }
}

 

도서검색앱을 만들어 보고 있습니다.

파싱은 이해했는데요.

 

Ajax웹 서버측에서 어떻게 html소스 얻어 올 수 있는지가 궁금합니다?

 

에러는 없는데 책이름을 입력하면 멈추네요