안드로이드 개발 질문/답변
(글 수 45,052)
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소스 얻어 올 수 있는지가 궁금합니다?
에러는 없는데 책이름을 입력하면 멈추네요