محتویات سایت
        برچسب های محبوب 








 
   بازیابی پوستر و Thumbnail های فیلم های دنیا توسط API های وب سایت Yahoo
  در این ترفند، نحوه بازیابی پوستر و Thumbnail های فیلم های روز دنیا توسط API های ارائه شده وب سایت Yahoo را بررسی خواهیم نمود.
   ASP.NET
   ۸۹۲۰
   دریافت فایل ضمیمه
   مرتضی صحراگرد
   ۱۳۸۷/۱۱/۱۴
نسخه قابل چاپ نسخه قابل چاپ

وب سایت Yahoo مدتی است که API های بسیار جالبی را در زمینه های مختلف ارائه نموده است. در صورتی که علاقه مند هستید که API های مربوط به جستجوی تصاویر این سایت را بررسی نمایید می توانید به این آدرس مراجعه نمایید.

شروع:

در ابتدا فضای نامی زیر را به کلاس اضافه نمایید.

using System.Xml.XPath;

متغیر گلوبال LINK را به شکل زیر تعریف نمایید.

private const string LINK =

    "http://search.yahooapis.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query={0} movie&results=1";

در قسمت زیر متدی نوشته ایم که عنوان یک فیلم را گرفته و آدرس پوستر فیلم بر می گرداند.

public static string FindMoviePoster(string title)

{

    string url = string.Format(LINK, HttpUtility.UrlEncode(title));

 

    XPathDocument xd = new XPathDocument(url);

    XPathNavigator navigator = xd.CreateNavigator();

    navigator.MoveToFollowing(XPathNodeType.Element);

    navigator.MoveToFirstChild();

    navigator.MoveToFirstChild();

 

    do

    {

        if (navigator.LocalName == "Url")

        {

            navigator.MoveToFirstChild();

            return navigator.Value;

        }

    } while (navigator.MoveToNext());

 

    return null;

}

نحوه استفاده از متد بالا به شکل زیر می باشد. در قطعه کد زیر ما قصد بازیابی آدرس پوستر فیلم "گلادیاتور" را داریم.

string imageUrl=FindMoviePoster("Gladiator");

if (!string.IsNullOrEmpty(imageUrl))

{

    Image1.ImageUrl = imageUrl;

}

پس از اجرای قطعه کد فوق تصویر پوستر این فیلم مانند شکل زیر نمایش داده می شود.

برای بازیابی Thumbnail ها باید به شکل زیر عمل نمود.(تنها خطی که نسبت به متد قبل تغییر نموده است را به صورت بولد مشخص نموده ایم)

public static string FindMovieThumbnail(string title)

{

    string url = string.Format(LINK, HttpUtility.UrlEncode(title));

 

    XPathDocument xd = new XPathDocument(url);

    XPathNavigator navigator = xd.CreateNavigator();

    navigator.MoveToFollowing(XPathNodeType.Element);

    navigator.MoveToFirstChild();

    navigator.MoveToFirstChild();

 

    do

    {

        if (navigator.LocalName == "Thumbnail")

        {

            navigator.MoveToFirstChild();

            return navigator.Value;

        }

    } while (navigator.MoveToNext());

 

    return null;

}

قطعه کد کامل این ترفند از لینک بالای صفحه قابل دریافت می باشد.

منبع: NET slave