|
요청 변수 값 설명 | ||
key |
string(필수) |
이용 등록을 받은 key 스트링을 입력합니다. |
target |
string(필수) : book |
서비스를 위해서는 무조건 지정해야 합니다. |
query |
String(필수) |
검색을 원하는 질의, UTF-8 인코딩 입니다. |
display |
string : 기본값 10, 최대값 100 |
검색결과 출력건수를 지정합니다. 최대100까지 가능 |
start |
string : 기본값 1, 최대 1000 |
검색의 시작위치를 지정합니다. 최대 1000까지 가능 |
- 샘플 URL
http://openapi.naver.com/search?key=test&query=%EC%82%BC%EA%B5%AD%EC%A7%80&display=10&start=1&target=book
key=test : 키 값을 넣는 곳 입니다. key="발급 받은 키 값"을 넣어주시면 됩니다.
target=book : 검색을 원하는 주제를 넣으시면 됩니다. 영화를 검색 하시려면,
target=movie를 넣으시면 됩니다.
- 제가 사용한 것들만 설명 드리겠습니다.
필드 값 설명 | ||
title |
string |
검색 결과 책의 제목을 나타냅니다. |
publisher |
string |
출판사 정보입니다. |
author |
string |
저자정보입니다. |
price |
int |
정가 정보입니다. 가격이 없으면 나타나지 않습니다. |
description |
string |
검색 결과 책에 대한 내용을 요약한 패시지 정보입니다 |
4. 도서 검색 하기
private void SearchButton_Click(object sender, EventArgs e) { listView1.Items.Clear(); string booksname = bookname.Text;
ArrayList arrbook = BookSearch.Naver(booksname);
foreach (Book book in arrbook) { ListViewItem lv = new ListViewItem(book.Bname); lv.SubItems.Add(book.Publisher); lv.SubItems.Add(book.Author); lv.SubItems.Add(book.Price.ToString()); lv.Tag = book; listView1.Items.Add(lv); } } |
string addr =string.Format("http://openapi.naver.com/search?key="발급 받은 키 값"&query={0}&target=book&display=20&start=1", HttpUtility.UrlEncode(booksname, Encoding.GetEncoding("utf-8")));
XmlDocument xd = new XmlDocument(); xd.Load(addr); //검색된 책들을 로드합니다. |
발급 받은 키 값을 넣어주고, target에 book을 넣었습니다. Encoding을 통해 검색하고 싶은 책 이름을 대입을 시켜 줍니다.
Utf-8 : 문자 나 기호들의 집합을 컴퓨터에서 저장하거나 통신에 사용할 목적
|
foreach (XmlNode xmlnode in xnode.SelectNodes("item")) { cnode = xmlnode.SelectSingleNode("title"); bname = ConvertString(cnode.InnerText);
cnode = xmlnode.SelectSingleNode("publisher"); publisher = ConvertString(cnode.InnerText);
cnode = xmlnode.SelectSingleNode("author"); author = ConvertString(cnode.InnerText);
cnode = xmlnode.SelectSingleNode("price"); price = int.Parse(ConvertString(cnode.InnerText));
cnode = xmlnode.SelectSingleNode("link"); link = ConvertString(cnode.InnerText);
cnode = xmlnode.SelectSingleNode("description"); string desc = ConvertString(cnode.InnerText); bl.Add(new Book(bname, publisher, author, price, link,desc)); } |
검색 완료된 도서 View
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { ListViewItem lvi = listView1.SelectedItems[0]; Book book = lvi.Tag as Book; if (book != null) { textBoxDesc.Text = book.Desc; } }
} |
6. 실행결과
|