2011-01-17 6 views

답변

0

웹 페이지를 구문 분석하려면 HTML Agility Pack 클래스와 HTMLWeb 클래스를 사용할 수 있습니다.

+0

죄송합니다, 저는 초보 프로그래머입니다. 내가 어떻게 그렇게 할 수 있는지 자세히 설명해 줄 수 있니? – MAS

0

조금 더 깨끗하게하려면 빙 API를 사용하십시오. JSON/XML/SOAP 응답에서 결과의 각 이미지에 대한 URL을 얻습니다. LINQ 쿼리에서 루프 또는 그 이상의 이미지를 검색 할 수 있습니다.

기본 사항을 알려주는 PDF을 확인하십시오.

다음은 사용자가 수행 할 수있는 방법의 예입니다. 먼저 get an APPID을 사용하면 API 쿼리를 작성할 수 있습니다.

string url = "http://api.search.live.net/xml.aspx?Appid={0}&sources={1}&query={2}"; 
string completeUri = String.Format(url, AppId, "image", "microsoft"); 
HttpWebRequest webRequest = null; 
webRequest = (HttpWebRequest)WebRequest.Create(completeUri); 
HttpWebResponse webResponse = null; 
webResponse = (HttpWebResponse)webRequest.GetResponse(); 
XmlReader xmlReader = null; 
xmlReader = XmlReader.Create(webResponse.GetResponseStream()); 

같은 요청을 한 후 반환 된 데이터를 유지하는 클래스를 생성합니다.

public class LiveSearchResultImage 
{ 
    public string Title { get; set; } 
    public string Description { get; set; } 
    public string URI { get; set; } 
    public string ImageURI { get; set; } 
    public string ThumbnailURI { get; set; } 
} 

그런 다음 LINQ 쿼리를 사용하여 응답에서 데이터를 검색하십시오.

XDocument data = XDocument.Load(xmlReader); 
IEnumerable<XNode> nodes = null; 
nodes = data.Descendants(XName.Get("Results", IMAGE_NS)).Nodes(); 
if (nodes.Count() > 0) 
{ 
    var results = from uris in nodes 
    select new LiveSearchResultImage 
    { 
    URI = 
    ((XElement)uris).Element(XName.Get("Url", IMAGE_NS)).Value, 
    Title = 
    ((XElement)uris).Element(XName.Get("Title", IMAGE_NS)).Value, 
    ThumbnailURI = 
    ((XElement)uris).Element(XName.Get("Thumbnail", IMAGE_NS)).Value, 
    }; 
    return results; 
} 
관련 문제