quang cao hosting

Tạo trang kiểm tra Google PageRank bằng ASP.NET

Xem: 1300    Tải: 0   Thảo luận: 0   Mục: ASP.NET Framework   Lĩnh vực: none

0 điểm   ( 5 đánh giá ) File đã được kiểm thử

PageRank hay Ranking viết tắt là PR tạm dịch là thứ hạng trang. Khi nói đến PageRank người ta thường nghĩ đến ngay Google PageRank. Đó là một hệ thống xếp hạng trang Web của các máy tìm kiếm nhằm sắp xếp thứ tự ưu tiên đường dẫn URL trong trang kết quả tìm kiếm. Bài viết này tôi hướng dẫn bạn xây dựng tiện ích Kiểm Tra PG bằng asp.net, Csharp Google, PageRank, Google PageRank, asp.net, Csharp, Seo.

Đây là hàm trả về Google PageRank được viết với ngôn ngữ C#.Net với giá trị trả về là một số nguyên từ 0 đến 10. Theo Google một cách tóm lược thì PageRank chỉ được đánh giá từ hệ thống liên kết đường dẫn. Trang của bạn càng nhận nhiều liên kết trỏ đến thì mức độ quan trọng trang của bạn càng tăng. Bạn có thể sử dụng nó để tích hợp vào website của mình phục vụ cho việc kiểm tra PageRank, hoạc dùng nó như một tiện ích của website của bạn giúp tăng Rank cho website.

Ta sẽ viết một Class GooglePR và xây dựng MyPR để truyền vào URL website cần check Google PageRank. Ở đây tôi sẽ hướng dẫn xây dựng luôn một trang như demo, và Class GooglePR sẽ được viết luôn trong code behind của trang này.

Ở code aspx ta cần các Control sau để tạo Form seach, một RegularExpressionValidator để kiểm tra cấu trúc URL nhập vào và các control hiển thị kết quả như sau:

code html:

<asp:TextBox ID="txtPage" runat="server" Text="http://" Width="400px" />
    <asp:Button ID="btnCheck" Text="Check Page Rank" runat="server" onclick="btnCheck_Click" />
    <asp:RegularExpressionValidator   
        ID="RegularExpressionValidator1"  
        runat="server" Display="Dynamic"   
        ValidationExpression="http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"  
        ControlToValidate="txtPage"  
        ErrorMessage="Url không đúng cấu trúc" />
<asp:Panel ID="pnlKQ" runat="server">
<table width="100%" cellpadding="3" cellspacing="3" border="0">
    <tr>
        <td width="150xp" align="left" class="style3">
            <b>Website bạn check: </b>    
        </td>
         <td width="630xp" align="left">
            <asp:Label ID="lblURL" runat="server" 
                 style="color: #CC3300; font-weight: 700;" />
        </td>
    </tr>
     <tr>
        <td width="150xp" align="left" class="style3">
            <b>Google Page Rank: </b>
        </td>
        <td width="630xp" align="left">
            <div style="width:200px; background-color:#ffffff; border:1px solid #dedede">
            <asp:Label ID="lbl1" runat="server" /></div>
            <asp:Label ID="lblTyle" runat="server" />
        </td>
     </tr>
     <tr>
        <td colspan="2">
        <asp:Label ID="lblTB" runat="server" />
        </td>
     </tr>
    </table>
</asp:Panel>

Trong code csharp ta khai báo và thiết lập thuộc tính Visible cho Panel pnlKQ để chỉ khi sự kiện Submit của Button được gọi thì mới hiển thị Panel này:
GooglePR pr = new GooglePR();

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        pnlKQ.Visible = false;
    }
}
Sự kiện Click của button ta cần thực hiện tính giá trị rank và tạo ra một thẻ div với thuộc tính background-color và width tính được
protected void btnCheck_Click(object sender, EventArgs e)
{
    pnlKQ.Visible = true;
    int page=0;
    page = ((pr.MyPR(txtPage.Text.ToString())) * 200)/10;
    lbl1.Text = "<div style='background-color:#0066cc; width:" + page.ToString() + "px; height:22px'>&nbsp;</div>";
    lblURL.Text = txtPage.Text + "";
    lblTyle.Text = "(" + pr.MyPR(txtPage.Text.ToString()).ToString() + "/10)";
    lblTB.Text = "Google page rank Website bạn check là " + (pr.MyPR(txtPage.Text.ToString())).ToString() + "/10 điểm";
    txtPage.Text = "http://";
}

Cuối cùng là code quan trọng nhất đó là Class GooglePR, có sử dụng toolbarqueries.google.com được cung cấp bởi google

/// <summary>
/// Summary description for GooglePR
/// </summary>
public class GooglePR
{
    public GooglePR()
    {
         
    }
    private const UInt32 myConst = 0xE6359A60;
    private static void _Hashing(ref UInt32 a, ref UInt32 b, ref UInt32 c)
    {
        a -= b; a -= c; a ^= c >> 13;
        b -= c; b -= a; b ^= a << 8;
        c -= a; c -= b; c ^= b >> 13;
        a -= b; a -= c; a ^= c >> 12;
        b -= c; b -= a; b ^= a << 16;
        c -= a; c -= b; c ^= b >> 5;
        a -= b; a -= c; a ^= c >> 3;
        b -= c; b -= a; b ^= a << 10;
        c -= a; c -= b; c ^= b >> 15;
    }
    public static string PerfectHash(string theURL)
    {
        string url = string.Format("info:{0}", theURL);
        int length = url.Length;
        UInt32 a, b;
        UInt32 c = myConst;
        int k = 0;
        int len = length;
        a = b = 0x9E3779B9;
        while (len >= 12)
        {
            a += (UInt32)(url[k + 0] + (url[k + 1] << 8) +
                 (url[k + 2] << 16) + (url[k + 3] << 24));
            b += (UInt32)(url[k + 4] + (url[k + 5] << 8) +
                 (url[k + 6] << 16) + (url[k + 7] << 24));
            c += (UInt32)(url[k + 8] + (url[k + 9] << 8) +
                 (url[k + 10] << 16) + (url[k + 11] << 24));
            _Hashing(ref a, ref b, ref c);
            k += 12;
            len -= 12;
        }
        c += (UInt32)length;
        switch (len)
        {
            case 11:
                c += (UInt32)(url[k + 10] << 24);
                goto case 10;
            case 10:
                c += (UInt32)(url[k + 9] << 16);
                goto case 9;
            case 9:
                c += (UInt32)(url[k + 8] << 8);
                goto case 8;
            case 8:
                b += (UInt32)(url[k + 7] << 24);
                goto case 7;
            case 7:
                b += (UInt32)(url[k + 6] << 16);
                goto case 6;
            case 6:
                b += (UInt32)(url[k + 5] << 8);
                goto case 5;
            case 5:
                b += (UInt32)(url[k + 4]);
                goto case 4;
            case 4:
                a += (UInt32)(url[k + 3] << 24);
                goto case 3;
            case 3:
                a += (UInt32)(url[k + 2] << 16);
                goto case 2;
            case 2:
                a += (UInt32)(url[k + 1] << 8);
                goto case 1;
            case 1:
                a += (UInt32)(url[k + 0]);
                break;
            default:
                break;
        }
        _Hashing(ref a, ref b, ref c);
        return string.Format("6{0}", c);
    }
    public int MyPR(string myURL)
    {
        string strDomainHash = PerfectHash(myURL);
        string myRequestURL = string.Format("http://toolbarqueries.google.com/" +
               "search?client=navclient-auto&ch={0}&features=Rank&q=info:{1}",
               strDomainHash, myURL);
        try
        {
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(myRequestURL);
            string myResponse = new StreamReader(
                   myRequest.GetResponse().GetResponseStream()).ReadToEnd();
            if (myResponse.Length == 0)
                return 0;
            else
                return int.Parse(Regex.Match(myResponse,
                       "Rank_1:[0-9]:([0-9]+)").Groups[1].Value);
        }
        catch (Exception)
        {
            return -1;
        }
    }
}

Bạn cú ý add đủ các Class nhé:
using System.Collections.Generic;.
using System.Web;.
using System.Net;.
using System.IO;.
using System.Text.RegularExpressions;

Tạo trang kiểm tra Google PageRank bằng ASP.NET

Tạo trang kiểm tra Google PageRank bằng ASP.NET Đăng ngày 25-09-2013  PageRank hay Ranking viết tắt là PR tạm dịch là thứ hạng trang. Khi nói đến PageRank người ta thường nghĩ đến ngay Google PageRank. Đó là một hệ thống xếp hạng trang Web của các máy tìm kiếm nhằm sắp xếp thứ tự ưu tiên đường dẫn URL trong trang kết quả tìm kiếm. Bài viết này tôi hướng dẫn bạn xây dựng tiện ích Kiểm Tra PG bằng asp.net, Csharp Google, PageRank, Google PageRank, asp.net, Csharp, Seo. 5/10 1300

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2021. All rights reserved. Bản quyền thuộc VinaGon
Email: info@vinagon.com
Hotline: 086.924.3838