1 / 10

RSS Reader 만들기 - 중간 과제 -

RSS Reader 만들기 - 중간 과제 -. Internet Computing Laboratory @ KUT Youn-Hee Han. RSS 2.0. RSS (Really Simple Syndication) XML 을 통하여 뉴스나 블로그 사이트에서 주로 사용하는 컨텐츠 표현 방식이다 . 웹 사이트 관리자는 RSS 형식으로 웹 사이트 내용을 보여 준다 . 이 정보를 받는 사람은 다른 형식으로 이용할 수 있다 .

zubeda
Download Presentation

RSS Reader 만들기 - 중간 과제 -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RSS Reader 만들기- 중간 과제 - Internet Computing Laboratory @ KUT Youn-Hee Han

  2. Advanced Web Programming RSS 2.0 • RSS (Really Simple Syndication) • XML을 통하여 뉴스나 블로그 사이트에서 주로 사용하는 컨텐츠 표현 방식이다. • 웹 사이트 관리자는 RSS 형식으로 웹 사이트 내용을 보여 준다. • 이 정보를 받는 사람은 다른 형식으로 이용할 수 있다. • RSS is a dialect of XML. All RSS files must conform to the XML 1.0 specification RSS feed 아이콘

  3. RSS Sample RSS 2.0 기반 Sample 파일 <?xml version="1.0"?> <rss version="2.0"> <channel> <title>Liftoff News</title> <link>http://liftoff.msfc.nasa.gov/</link> <description>Liftoff to Space Exploration.</description> <language>en-us</language> <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate> <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate> <docs>http://blogs.law.harvard.edu/tech/rss</docs> <generator>Weblog Editor 2.0</generator> <managingEditor>editor@example.com</managingEditor> <webMaster>webmaster@example.com</webMaster> <item> <title>Star City</title> <link>http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp</link> <description>How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's &lt;a href="http://howe.iki.rssi.ru/GCTC/gctc_e.htm"&gt;Star City&lt;/a&gt;.</description> <pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate> <guid>http://liftoff.msfc.nasa.gov/2003/06/03.html#item573</guid> </item> … </channel> </rss>

  4. RSS Sample of NAVER <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>Naver Open API - news ::'go'</title> <link>http://search.naver.com</link> <description>Naver Search Result</description> <lastBuildDate>Fri, 02 Mar 2007 11:32:23 +0900</lastBuildDate> <total>72525</total> <start>1</start> <display>10</display> <item> <title>외국인 노동자, 인터넷으로 재입국 허가 받을 수 있다</title> <originallink>http://www.heraldbiz.com/SITE/data/html_dir/2007/03/02/200703020070.asp</originallink> <link>http://news.naver.com/news/read.php?mode=LSD&office_id=112&article_id=0000061110 &section_id=102&menu_id=102</link> <description>... 실시하기로 했다.재입국허가를 받으려는 외국인은 출입국관리국 홈페이지(http://www.immigration.<b>go</b>.kr) 또는 외국인종합지원서비스(G4F) 포탈(http://www.g4f. <b>go</b>.kr)에 접속해 회원가입후 원하는 민원을 신청할 수 있다. 전자민원을 신청한 뒤에 처리 결과는... </description> <pubDate>Fri, 02 Mar 2007 11:23:00 +0900</pubDate> </item> … </channel> </rss> 4

  5. RSS Analysis by using DOM RSS 분석하기 import org.w3c.dom.*; import javax.xml.parsers.*; import java.net.URLEncoder; public class DOMAnalyzer { static String xmlString = new String(); public static void main(String[] args) { try { DocumentBuilderFactory dBFactory = DocumentBuilderFactory.newInstance(); dBFactory.setIgnoringElementContentWhitespace(true); DocumentBuilder dBuilder = dBFactory.newDocumentBuilder(); String queryURL = "http://openapi.naver.com/search? key=8f2e88ae4a6cf2894e0a897ef21c1817&target=news&start=1 &display=10&query=" + URLEncoder.encode("한기대", "UTF-8"); Document document = dBuilder.parse(queryURL); displayNode(document.getDocumentElement()); System.out.println(xmlString); } catch(Exception e) { e.printStackTrace(System.err); } } …… 교재 309 페이지 5

  6. 4개의 서비스 • 실시간 검색어 서비스 • String queryURL31 = "http://openapi.naver.com/search?key=8f2e88ae4a6cf2894e0a897ef21c1817&query=nexearch&target=rank"; • 뉴스 서비스 • String queryURL2 = "http://openapi.naver.com/search?key=8f2e88ae4a6cf2894e0a897ef21c1817&target=news&start=1&display=10&query=" + URLEncoder.encode("한기대", "UTF-8"); • 이미지 서비스 • String queryURL3 = "http://openapi.naver.com/search?key=8f2e88ae4a6cf2894e0a897ef21c1817&target=image&start=1&display=10&query=" + URLEncoder.encode("한기대", "UTF-8"); • 블로그 서비스 • String queryURL4 = "http://openapi.naver.com/search?key=8f2e88ae4a6cf2894e0a897ef21c1817&target=blog&display=10&start=1&sort=sim&query=" + URLEncoder.encode("한기대", "UTF-8"); 6

  7. 4개의 서비스 통합 소스 코드 예 DocumentBuilderFactory dBFactory = DocumentBuilderFactory.newInstance(); dBFactory.setIgnoringElementContentWhitespace(true); DocumentBuilder dBuilder = dBFactory.newDocumentBuilder(); String queryURL1 =… //실시간검색어 String queryURL2 =… //news String queryURL3 =… //images String queryURL4 =… //블로그 Document document1 = dBuilder.parse(queryURL1); displayNode(document1); xmlString += "\n\n"; Document document2 = dBuilder.parse(queryURL2); displayNode(document2); xmlString += "\n\n"; Document document3 = dBuilder.parse(queryURL3); displayNode(document3); xmlString += "\n\n"; Document document4 = dBuilder.parse(queryURL4); displayNode(document4); File f = new File("out.dat"); PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); out.println(xmlString); out.close(); 7

  8. 과제 요구사항 • 목표 • DOM 또는 SAX API를 활용하여 네이버의 4개 웹 서비스를 통합하여 보여주는 “실시간 인기 검색어 통합 뷰어”를 개발 • 요구사항 • NAVER 실시간 인기 검색어를 주어진 주기 (Default: 1분) 마다 갱신해서 분석하여 화면에 리스트 한다. • 10개의 실시간 인기 검색어 리스트 중 하나를 클릭하면 다음과 같은 정보를 한 화면에 보여준다. • NAVER 뉴스 • NAVER 블로그 • NAVER 이미지 • 내용이 HTML으로 되어 있을 경우 HTML 페이지 형태로 출력한다. • 제작한 프로그램에서 제시한 정보들의 좀 더 구체적인 정보를 보기 위하여 링크를 최대한 제공한다. 8

  9. 2007년 10월 31일오후 4시 30분 “변리사” 관련 뉴스 리스트 제목: … 내용: … 링크: … 제목: … 내용: … 링크: … … … “변리사” 관련 블로그 리스트 제목: … 내용: … 링크: … 제목: … 내용: … 링크: … … … • 인기 검색어 순위 • 변리사 • 안양외고 • 최강희 • … • … • … • … • … • … • … “변리사” 관련 이미지 리스트 … 화면 디자인 예 9

  10. 기타 • 구축 방법 • Case 1: 자바 윈도우 프로그래밍 • Case 2: 서블릿 + JSP를 활용한 웹 프로그래밍 • 제출 내용 • 소스 코드 별도 • 소스 코드, 설명, 출력 내용을 캡쳐해서 담은 보고서 • 위 내용을 하나로 압축하여 하나의 zip 파일을 업로드 • 기한 (중간고사 대체) • 11월 4일 저녁 10

More Related