در این مقاله نشان می دهیم که چگونه جستجوی Google News را به یک پروژه ASP.Net اضافه نماییم. مراحل انجام عملیات به صورت گام به گام به همراه تصاویر برایتان در ادامه ی مطلب قرار داده شده است. با من همراه باشید …
Google News
Google News یک خبرخوان رایگان است که آخرین اخبار را از هزاران انتشارات و نشریه ها توسط گوگل انتخاب و ارائه می کند.این سرویس مقالات حبری که در ۳۰ روز گذشته در وب سایت های خبری مختلف ظاهر شده اند، پوشش می دهد. در مجموع، خبرخوان Google News حدود ۴۵۰۰ سایت از زبان های مختلف را پوشش می دهد. در صفحه اول تقریبا ۲۰۰ کاراکتر از مقاله را نمایش می دهد و برای ادامه خبر، لینکی فراهم می کند. وب سایت ها نیازی به توضیحات ندارند، اما سایت ها نیاز به توضیحات دارند که در قسمت توضیحات مقاله نوشته می شود.
[divider style=”normal” top=”20″ bottom=”20″] [box type=”shadow” align=”” class=”” width=””]پیشنها میکنم : ورود به سایت با استفاده از اکانت گوگل در ASP.Net
[/box] [divider style=”normal” top=”20″ bottom=”20″]در این مقاله نشان می دهیم که چگونه می توان این سرویس را به اپلیکیشن خود اضافه کنیم. برای این کار لازم است که رفرنس GoogleSearchAPI.dll را به برنامه اضافه کنیم.
این dll را می توانید از لینک زیر دانلود نمایید:
Google Search .NET – API for Google Services in C# .NET
برای استفاده از این قابلیت در وب سایت خود، ابتدا یک پروژه جدید ایجاد کرده و یک WebForm به آن اضافه می کنیم.
روی نام پروژه راست کلیک می کنیم و از گزینه Add گزینه Reference.Browse را انتخاب کرده و رفرنس را اضافه می کنیم.
Dll را انتخاب کرده و اضافه می کنیم.
بعد از اضافه کردن آن، پروژه شما به شکل زیر درمی آید:
حالا همه چیز آماده است، باید API را فراخوانی کرده و یک نمونه جدید از آن را در صفحه نمایش دهیم.
صفحه خود را به شکل زیر طراحی می کنیم:
کد HTML آن به صورت زیر می باشد:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="News.aspx.cs" Inherits="News" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:TextBox ID="txt_search" runat="server" Width="500px" Height="30px" ></asp:TextBox> <asp:Button runat="server" Text="SEARCH" ID="btn_btn" Height="40px" OnClick="btn_btn_Click" CommandName="Search" /> <br /> <asp:DataList ID="DataList1" runat="server" BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" GridLines="Both" CellSpacing="2" ForeColor="Black" OnItemDataBound="DataList1_ItemDataBound"> <FooterStyle BackColor="#CCCCCC" /> <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> <ItemStyle BackColor="White" /> <SelectedItemStyle BackColor="#000099" Font-Bold="True" ForeColor="White" /> <HeaderTemplate> <div> Today News </div> </HeaderTemplate> <ItemTemplate> <div> <asp:Image ID="imgEmp" runat="server" Width="100px" Height="120px" ImageUrl='<%# Bind("Image") %>' style="padding-left:40px"/><br /> </div> <div> <asp:Label runat="server" ID="lbl_content" Text='<%#Eval("Content") %>' Font-Bold="true">
قسمت طراحی نیز انجام شد. حالا باید کدهای موردنظر برای دریافت خبرها را بنویسیم. قبل از نوشتن هر کدی باید فضای نام زیر را به پروژه اضافه کنیم:
using Google.API.Search;
کدی که برای دریافت همه جزئیات اخبار موردنیاز است، به شکل زیر می باشد:
GnewsSearchClient client = new GnewsSearchClient("myclient"); IList<INewsResult> results=client.Search("Any Topics News", 10);
این کد همه خبرها را از وب سایت های مختلف برای شما می آورد. در اینجا ما مشخص کرده ایم که هر بار ۱۰ خبر باهم وارد می شوند.
در کد زیر نحوه اتصال به دیتابیس از طریق datlist را نیز مشاهده می کنیم.
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { GnewsSearchClient client = new GnewsSearchClient("myclient"); IList<INewsResult> results; results = client.Search("Asia News", 10); DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Content", typeof(string))); dt.Columns.Add(new DataColumn("Url", typeof(string))); dt.Columns.Add(new DataColumn("Image", typeof(string))); dt.Columns.Add(new DataColumn("Link", typeof(string))); dt.Columns.Add(new DataColumn("Publisher", typeof(string))); dt.Columns.Add(new DataColumn("Date", typeof(string))); foreach (var news in results) { DataRow dr = dt.NewRow(); dr["Content"] = news.Content; dr["Image"] = news.Image; dr["Link"] = news.Url; dt.Rows.Add(dr); DataList1.DataSource = dt; DataList1.DataBind(); } } }
همانطور که مشاهده می کنید، با بارگزاری صفحه اخبار مربوطه نمایش داده می شوند.
کد کامل مربوط به جستجوی هر نوع خبری را می توانید در ادامه مشاهده کنید:
using Google.API.Search; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; public partial class News : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { GnewsSearchClient client = new GnewsSearchClient("myclient"); IList<INewsResult> results; if(!IsPostBack) { results = client.Search("Asia News", 10); DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Content", typeof(string))); dt.Columns.Add(new DataColumn("Url", typeof(string))); dt.Columns.Add(new DataColumn("Image", typeof(string))); dt.Columns.Add(new DataColumn("Link", typeof(string))); dt.Columns.Add(new DataColumn("Publisher", typeof(string))); dt.Columns.Add(new DataColumn("Date", typeof(string))); foreach (var news in results) { DataRow dr = dt.NewRow(); dr["Content"] = news.Content; dr["Image"] = news.Image; dr["Link"] = news.Url; dt.Rows.Add(dr); DataList1.DataSource = dt; DataList1.DataBind(); } } } public void searchNews(string prefix) { results = client.Search(prefix, 10); DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Content", typeof(string))); dt.Columns.Add(new DataColumn("Url", typeof(string))); dt.Columns.Add(new DataColumn("Image", typeof(string))); dt.Columns.Add(new DataColumn("Link", typeof(string))); foreach (var news in results) { DataRow dr = dt.NewRow(); dr["Content"] = news.Content; dr["Image"] = news.Image; dr["Link"] = news.Url; dt.Rows.Add(dr); DataList1.DataSource = dt; DataList1.DataBind(); } } protected void btn_btn_Click(object sender, EventArgs e) { searchNews(txt_search.Text); } }
موفق باشید !
هیچ دیدگاهی نوشته نشده است.