نمایش نتایج 1 تا 18 از 18

نام تاپیک: url بده گوگل pagerank تحویل بگیر "string"

  1. #1
    VIP آواتار raravaice
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Tehran
    سن
    40
    پست
    1,944

    url بده گوگل pagerank تحویل بگیر "string"

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



    Option Strict Off
    Option Explicit On

    Imports System
    Imports System.IO
    Imports System.Net
    Imports System.Text
    Imports Microsoft.VisualBasic
    Imports Microsoft.VisualBasic.CompilerServices
    Imports System.Runtime.CompilerServices
    Public Class pagerank
    Private Const GOOGLE_MAGIC As Integer = -432694688
    Private C_PageRank As Byte
    Public Sub New(ByVal webSiteUrl As String)
    PR(webSiteUrl)
    End Sub
    Public ReadOnly Property PageRank() As String
    Get
    Return C_PageRank
    End Get
    End Property

    Private Sub PR(ByVal webSiteUrl As String)
    Dim read As WebClient = New WebClient
    Dim result As String
    Dim enc As UTF8Encoding = New UTF8Encoding
    Try
    Dim reader As String = enc.GetString(read.DownloadData(GetRankUrl(webSite Url)))
    If reader <> "" Then
    result = reader.Substring(reader.Length - 3, 2)
    result = result.Replace(":", "")
    Else : result = "0"
    End If
    Catch ex As Exception
    result = "0"
    End Try
    C_PageRank = result
    End Sub

    Private Shared Function GetRankUrl(ByVal webSiteUrl As String) As String
    Dim str2 As String = ("info:" & webSiteUrl)
    Return ("http://www.google.com/search?client=navclient-auto&ch=" & CalculateChecksum(webSiteUrl) & "&features=Rank&q=" & str2)
    End Function
    Private Shared Function GoogleCH(ByVal sURL As Object) As Object
    Dim v_obj As Object
    Dim v_obj1 As Object
    Dim v_obj2 As Object
    Dim v_obj4 As Object
    Dim v_obj6 As Object
    Dim v_obj7 As Object
    Dim v_obj8 As Object
    Dim v_arrobj As Object()
    Dim v_obj5 As Object = Microsoft.VisualBasic.Strings.Len(sURL)
    v_obj = -1640531527
    v_obj1 = -1640531527
    v_obj2 = GOOGLE_MAGIC
    v_obj6 = 0
    v_obj4 = v_obj5
    Do While ObjectType.ObjTst(v_obj4, 12, False) >= 0
    v_obj = uadd(v_obj, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 0)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24)))))
    v_obj1 = uadd(v_obj1, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 4)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24)))))
    v_obj2 = uadd(v_obj2, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 8)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 10)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 11)), 24)))))
    v_obj7 = mix(v_obj, v_obj1, v_obj2)
    v_arrobj = New Object() {0}
    v_obj = LateBinding.LateIndexGet(v_obj7, v_arrobj, Nothing)
    v_arrobj = New Object() {1}
    v_obj1 = LateBinding.LateIndexGet(v_obj7, v_arrobj, Nothing)
    v_arrobj = New Object() {2}
    v_obj2 = LateBinding.LateIndexGet(v_obj7, v_arrobj, Nothing)
    v_obj6 = ObjectType.AddObj(v_obj6, 12)
    v_obj4 = ObjectType.SubObj(v_obj4, 12)
    Loop
    v_obj2 = uadd(v_obj2, v_obj5)
    v_obj8 = v_obj4
    If ObjectType.ObjTst(v_obj8, 11, False) = 0 Then
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 10)), 24))
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 16))
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8))
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 10, False) = 0 Then
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 16))
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8))
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 9, False) = 0 Then
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8))
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 8, False) = 0 Then
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8))
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 7, False) = 0 Then
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16))
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8))
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 6, False) = 0 Then
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8))
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 5, False) = 0 Then
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 4, False) = 0 Then
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 3, False) = 0 Then
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16))
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 2, False) = 0 Then
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8))
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    Else
    If ObjectType.ObjTst(v_obj8, 1, False) = 0 Then
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)))
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    End If
    v_obj7 = mix(v_obj, v_obj1, v_obj2)
    v_arrobj = New Object() {2}
    Return LateBinding.LateIndexGet(v_obj7, v_arrobj, Nothing)
    End Function
    Private Shared Function uadd(ByVal L1 As Object, ByVal L2 As Object) As Object
    Dim obj2 As Object = ObjectType.BitAndObj(L1, &HFFFFFF)
    Dim obj3 As Object = ObjectType.IDivObj(ObjectType.BitAndObj(L1, &H7F000000), &H1000000)
    If (ObjectType.ObjTst(L1, 0, False) < 0) Then
    obj3 = ObjectType.BitOrObj(obj3, &H80)
    End If
    Dim obj4 As Object = ObjectType.BitAndObj(L2, &HFFFFFF)
    Dim obj5 As Object = ObjectType.IDivObj(ObjectType.BitAndObj(L2, &H7F000000), &H1000000)
    If (ObjectType.ObjTst(L2, 0, False) < 0) Then
    obj5 = ObjectType.BitOrObj(obj5, &H80)
    End If
    Dim obj7 As Object = ObjectType.AddObj(obj3, obj5)
    Dim obj6 As Object = ObjectType.AddObj(obj2, obj4)
    If BooleanType.FromObject(ObjectType.BitAndObj(obj6, &H1000000)) Then
    obj7 = ObjectType.AddObj(obj7, 1)
    End If
    Dim obj8 As Object = ObjectType.AddObj(ObjectType.BitAndObj(obj6, &HFFFFFF), ObjectType.MulObj(ObjectType.BitAndObj(obj7, &H7F), &H1000000))
    If BooleanType.FromObject(ObjectType.BitAndObj(obj7, &H80)) Then
    obj8 = ObjectType.BitOrObj(obj8, -2147483648)
    End If
    Return obj8
    End Function
    Private Shared Function CalculateChecksum(ByVal sURL As String) As String
    Return ("6" & StringType.FromObject(ReinterpretSignedAsUnsigned( RuntimeHelpers.GetObjectValue(GoogleCH(("info:" & sURL))))))
    End Function
    Private Shared Function gc(ByVal s As Object, ByVal i As Object) As Object
    Return Strings.Asc(Strings.Mid(StringType.FromObject(s), IntegerType.FromObject(ObjectType.AddObj(i, 1)), 1))
    End Function
    Private Shared Function sl(ByVal x As Object, ByVal n As Object) As Object
    If (ObjectType.ObjTst(n, 0, False) = 0) Then
    Return RuntimeHelpers.GetObjectValue(x)
    End If
    Dim obj5 As Object = LongType.FromObject(ObjectType.PowObj(2, ObjectType.SubObj(ObjectType.SubObj(&H20, n), 1)))
    Dim obj3 As Object = ObjectType.MulObj(ObjectType.BitAndObj(x, ObjectType.SubObj(obj5, 1)), LongType.FromObject(ObjectType.PowObj(2, n)))
    If BooleanType.FromObject(ObjectType.BitAndObj(x, obj5)) Then
    obj3 = ObjectType.BitOrObj(obj3, -2147483648)
    End If
    Return RuntimeHelpers.GetObjectValue(obj3)
    End Function
    Private Shared Function mix(ByVal ia As Object, ByVal ib As Object, ByVal ic As Object) As Object
    Dim v_obj As Object = ia
    Dim v_obj1 As Object = ib
    Dim v_obj2 As Object = ic
    v_obj = usub(v_obj, v_obj1)
    v_obj = usub(v_obj, v_obj2)
    v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 13))
    v_obj1 = usub(v_obj1, v_obj2)
    v_obj1 = usub(v_obj1, v_obj)
    v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 8))
    v_obj2 = usub(v_obj2, v_obj)
    v_obj2 = usub(v_obj2, v_obj1)
    v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 13))
    v_obj = usub(v_obj, v_obj1)
    v_obj = usub(v_obj, v_obj2)
    v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 12))
    v_obj1 = usub(v_obj1, v_obj2)
    v_obj1 = usub(v_obj1, v_obj)
    v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 16))
    v_obj2 = usub(v_obj2, v_obj)
    v_obj2 = usub(v_obj2, v_obj1)
    v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 5))
    v_obj = usub(v_obj, v_obj1)
    v_obj = usub(v_obj, v_obj2)
    v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 3))
    v_obj1 = usub(v_obj1, v_obj2)
    v_obj1 = usub(v_obj1, v_obj)
    v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 10))
    v_obj2 = usub(v_obj2, v_obj)
    v_obj2 = usub(v_obj2, v_obj1)
    v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 15))
    Return New Object() {v_obj, v_obj1, v_obj2, Nothing}

    End Function
    Private Shared Function ReinterpretSignedAsUnsigned(ByVal x As Object) As Object
    If (ObjectType.ObjTst(x, 0, False) < 0) Then
    x = ObjectType.AddObj(x, 4294967296)
    End If
    Return RuntimeHelpers.GetObjectValue(x)
    End Function
    Private Shared Function usub(ByVal L1 As Object, ByVal L2 As Object) As Object
    Dim obj2 As Object = ObjectType.BitAndObj(L1, &HFFFFFF)
    Dim obj3 As Object = ObjectType.IDivObj(ObjectType.BitAndObj(L1, &H7F000000), &H1000000)
    If (ObjectType.ObjTst(L1, 0, False) < 0) Then
    obj3 = ObjectType.BitOrObj(obj3, &H80)
    End If
    Dim obj4 As Object = ObjectType.BitAndObj(L2, &HFFFFFF)
    Dim obj5 As Object = ObjectType.IDivObj(ObjectType.BitAndObj(L2, &H7F000000), &H1000000)
    If (ObjectType.ObjTst(L2, 0, False) < 0) Then
    obj5 = ObjectType.BitOrObj(obj5, &H80)
    End If
    Dim obj7 As Object = ObjectType.SubObj(obj3, obj5)
    Dim obj6 As Object = ObjectType.SubObj(obj2, obj4)
    If (ObjectType.ObjTst(obj6, 0, False) < 0) Then
    obj7 = ObjectType.SubObj(obj7, 1)
    obj6 = ObjectType.AddObj(obj6, &H1000000)
    End If
    Dim obj8 As Object = ObjectType.AddObj(obj6, ObjectType.MulObj(ObjectType.BitAndObj(obj7, &H7F), &H1000000))
    If BooleanType.FromObject(ObjectType.BitAndObj(obj7, &H80)) Then
    obj8 = ObjectType.BitOrObj(obj8, -2147483648)
    End If
    Return obj8
    End Function
    Private Shared Function zeroFill(ByVal a As Object, ByVal b As Object) As Object
    Dim objectValue As Object
    If BooleanType.FromObject(ObjectType.BitAndObj(-2147483648, a)) Then
    objectValue = sr(ObjectType.BitOrObj(ObjectType.BitAndObj(sr(a, 1), &H7FFFFFFF), &H40000000), ObjectType.SubObj(b, 1))
    Else
    objectValue = sr(a, RuntimeHelpers.GetObjectValue(b))
    End If
    Return objectValue
    End Function
    Private Shared Function sr(ByVal x As Object, ByVal n As Object) As Object
    Dim obj4 As Object
    If (ObjectType.ObjTst(n, 0, False) = 0) Then
    Return RuntimeHelpers.GetObjectValue(x)
    End If
    Dim obj3 As Object = ObjectType.BitAndObj(x, &H7FFFFFFF)
    If (ObjectType.ObjTst(n, &H1F, False) = 0) Then
    obj4 = 0
    Else
    obj4 = ObjectType.IDivObj(obj3, LongType.FromObject(ObjectType.PowObj(2, n)))
    End If
    If (ObjectType.ObjTst(obj3, x, False) <> 0) Then
    obj4 = ObjectType.BitOrObj(obj4, LongType.FromObject(ObjectType.PowObj(2, ObjectType.SubObj(ObjectType.SubObj(&H20, n), 1))))
    End If
    Return RuntimeHelpers.GetObjectValue(obj4)
    End Function
    End Class



    این برنامه یه کلاس برای vb.net هست که به صورت زیر فراخوانی میشه.


    Dim a As New pagerank(Request.QueryString("url"))


    Response.Write(a.PageRank)



    البته یه کم شلوغه علتش هم اینه که از php برگردوندمش دوستان اگر میتونن کوتاه ترش کنن زحمتش با شما ، بزارین اینجا ما هم استفاده کنیم.

    موفق باشید

  2. #2
    کاربر دائمی آواتار merlin_vista
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    نصف جهان
    پست
    1,014
    میشه با C#‎ هم بگزارید !؟!!

  3. #3
    VIP آواتار raravaice
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Tehran
    سن
    40
    پست
    1,944
    سلام

    حقیقتش حوصله نوشتنشو ندارم همین 2 روز وقتمو گرفت برو تبدیلش کن

    http://labs.developerfusion.co.uk/co...to-csharp.aspx

    اگرم خاصتی همینو کامپایل کن تو برنامت رفرنس بگیر.
    ورودی url
    خروجی page rank با مقدار string هست.
    موفق باشی

  4. #4
    درورد
    اینم قسمت سختش کدC#‎


    using System.IO;
    using System.Net;
    using System.Text;
    using Microsoft.VisualBasic;
    using Microsoft.VisualBasic.CompilerServices;
    using System.Runtime.CompilerServices;
    public class pagerank
    {
    private const int GOOGLE_MAGIC = -432694688;
    private byte C_PageRank;
    public pagerank(string webSiteUrl)
    {
    PR(webSiteUrl);
    }
    public string PageRank {
    get { return C_PageRank; }
    }

    private void PR(string webSiteUrl)
    {
    WebClient read = new WebClient();
    string result;
    UTF8Encoding enc = new UTF8Encoding();
    try {
    string reader = enc.GetString(read.DownloadData(GetRankUrl(webSite Url)));
    if (reader != "") {
    result = reader.Substring(reader.Length - 3, 2);
    result = result.Replace(":", "");
    }
    else {
    result = "0";
    }
    }
    catch (Exception ex) {
    result = "0";
    }
    C_PageRank = result;
    }

    private static string GetRankUrl(string webSiteUrl)
    {
    string str2 = ("info:" + webSiteUrl);
    return ("http://www.google.com/search?client=navclient-auto&ch=" + CalculateChecksum(webSiteUrl) + "&features=Rank&q=" + str2);
    }
    private static object GoogleCH(object sURL)
    {
    object v_obj;
    object v_obj1;
    object v_obj2;
    object v_obj4;
    object v_obj6;
    object v_obj7;
    object v_obj8;
    object[] v_arrobj;
    object v_obj5 = Microsoft.VisualBasic.Strings.Len(sURL);
    v_obj = -1640531527;
    v_obj1 = -1640531527;
    v_obj2 = GOOGLE_MAGIC;
    v_obj6 = 0;
    v_obj4 = v_obj5;
    while (ObjectType.ObjTst(v_obj4, 12, false) >= 0) {
    v_obj = uadd(v_obj, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 0)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24)))));
    v_obj1 = uadd(v_obj1, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 4)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24)))));
    v_obj2 = uadd(v_obj2, uadd(gc(sURL, ObjectType.AddObj(v_obj6, 8)), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 8), uadd(sl(gc(sURL, ObjectType.AddObj(v_obj6, 10)), 16), sl(gc(sURL, ObjectType.AddObj(v_obj6, 11)), 24)))));
    v_obj7 = mix(v_obj, v_obj1, v_obj2);
    v_arrobj = new object[] {0};
    v_obj = LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
    v_arrobj = new object[] {1};
    v_obj1 = LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
    v_arrobj = new object[] {2};
    v_obj2 = LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
    v_obj6 = ObjectType.AddObj(v_obj6, 12);
    v_obj4 = ObjectType.SubObj(v_obj4, 12);
    }
    v_obj2 = uadd(v_obj2, v_obj5);
    v_obj8 = v_obj4;
    if (ObjectType.ObjTst(v_obj8, 11, false) == 0) {
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 10)), 24));
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 16));
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 10, false) == 0) {
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 9)), 16));
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 9, false) == 0) {
    v_obj2 = uadd(v_obj2, sl(gc(sURL, ObjectType.AddObj(v_obj6, 8)), 8));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 8, false) == 0) {
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 7)), 24));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 7, false) == 0) {
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 6)), 16));
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 6, false) == 0) {
    v_obj1 = uadd(v_obj1, sl(gc(sURL, ObjectType.AddObj(v_obj6, 5)), 8));
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 5, false) == 0) {
    v_obj1 = uadd(v_obj1, gc(sURL, ObjectType.AddObj(v_obj6, 4)));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 4, false) == 0) {
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 3)), 24));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 3, false) == 0) {
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 2)), 16));
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 2, false) == 0) {
    v_obj = uadd(v_obj, sl(gc(sURL, ObjectType.AddObj(v_obj6, 1)), 8));
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    else {
    if (ObjectType.ObjTst(v_obj8, 1, false) == 0) {
    v_obj = uadd(v_obj, gc(sURL, ObjectType.AddObj(v_obj6, 0)));
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    v_obj7 = mix(v_obj, v_obj1, v_obj2);
    v_arrobj = new object[] {2};
    return LateBinding.LateIndexGet(v_obj7, v_arrobj, null);
    }
    private static object uadd(object L1, object L2)
    {
    object obj2 = ObjectType.BitAndObj(L1, 16777215);
    object obj3 = ObjectType.IDivObj(ObjectType.BitAndObj(L1, 2130706432), 16777216);
    if ((ObjectType.ObjTst(L1, 0, false) < 0)) {
    obj3 = ObjectType.BitOrObj(obj3, 128);
    }
    object obj4 = ObjectType.BitAndObj(L2, 16777215);
    object obj5 = ObjectType.IDivObj(ObjectType.BitAndObj(L2, 2130706432), 16777216);
    if ((ObjectType.ObjTst(L2, 0, false) < 0)) {
    obj5 = ObjectType.BitOrObj(obj5, 128);
    }
    object obj7 = ObjectType.AddObj(obj3, obj5);
    object obj6 = ObjectType.AddObj(obj2, obj4);
    if (BooleanType.FromObject(ObjectType.BitAndObj(obj6, 16777216))) {
    obj7 = ObjectType.AddObj(obj7, 1);
    }
    object obj8 = ObjectType.AddObj(ObjectType.BitAndObj(obj6, 16777215), ObjectType.MulObj(ObjectType.BitAndObj(obj7, 127), 16777216));
    if (BooleanType.FromObject(ObjectType.BitAndObj(obj7, 128))) {
    obj8 = ObjectType.BitOrObj(obj8, -2147483648l);
    }
    return obj8;
    }
    private static string CalculateChecksum(string sURL)
    {
    return ("6" + StringType.FromObject(ReinterpretSignedAsUnsigned( RuntimeHelpers.GetObjectValue(GoogleCH(("info:" + sURL))))));
    }
    private static object gc(object s, object i)
    {
    return Strings.Asc(Strings.Mid(StringType.FromObject(s), IntegerType.FromObject(ObjectType.AddObj(i, 1)), 1));
    }
    private static object sl(object x, object n)
    {
    if ((ObjectType.ObjTst(n, 0, false) == 0)) {
    return RuntimeHelpers.GetObjectValue(x);
    }
    object obj5 = LongType.FromObject(ObjectType.PowObj(2, ObjectType.SubObj(ObjectType.SubObj(32, n), 1)));
    object obj3 = ObjectType.MulObj(ObjectType.BitAndObj(x, ObjectType.SubObj(obj5, 1)), LongType.FromObject(ObjectType.PowObj(2, n)));
    if (BooleanType.FromObject(ObjectType.BitAndObj(x, obj5))) {
    obj3 = ObjectType.BitOrObj(obj3, -2147483648l);
    }
    return RuntimeHelpers.GetObjectValue(obj3);
    }
    private static object mix(object ia, object ib, object ic)
    {
    object v_obj = ia;
    object v_obj1 = ib;
    object v_obj2 = ic;
    v_obj = usub(v_obj, v_obj1);
    v_obj = usub(v_obj, v_obj2);
    v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 13));
    v_obj1 = usub(v_obj1, v_obj2);
    v_obj1 = usub(v_obj1, v_obj);
    v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 8));
    v_obj2 = usub(v_obj2, v_obj);
    v_obj2 = usub(v_obj2, v_obj1);
    v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 13));
    v_obj = usub(v_obj, v_obj1);
    v_obj = usub(v_obj, v_obj2);
    v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 12));
    v_obj1 = usub(v_obj1, v_obj2);
    v_obj1 = usub(v_obj1, v_obj);
    v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 16));
    v_obj2 = usub(v_obj2, v_obj);
    v_obj2 = usub(v_obj2, v_obj1);
    v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 5));
    v_obj = usub(v_obj, v_obj1);
    v_obj = usub(v_obj, v_obj2);
    v_obj = ObjectType.BitXorObj(v_obj, zeroFill(v_obj2, 3));
    v_obj1 = usub(v_obj1, v_obj2);
    v_obj1 = usub(v_obj1, v_obj);
    v_obj1 = ObjectType.BitXorObj(v_obj1, sl(v_obj, 10));
    v_obj2 = usub(v_obj2, v_obj);
    v_obj2 = usub(v_obj2, v_obj1);
    v_obj2 = ObjectType.BitXorObj(v_obj2, zeroFill(v_obj1, 15));
    return new object[] {v_obj, v_obj1, v_obj2, null};

    }
    private static object ReinterpretSignedAsUnsigned(object x)
    {
    if ((ObjectType.ObjTst(x, 0, false) < 0)) {
    x = ObjectType.AddObj(x, 4294967296l);
    }
    return RuntimeHelpers.GetObjectValue(x);
    }
    private static object usub(object L1, object L2)
    {
    object obj2 = ObjectType.BitAndObj(L1, 16777215);
    object obj3 = ObjectType.IDivObj(ObjectType.BitAndObj(L1, 2130706432), 16777216);
    if ((ObjectType.ObjTst(L1, 0, false) < 0)) {
    obj3 = ObjectType.BitOrObj(obj3, 128);
    }
    object obj4 = ObjectType.BitAndObj(L2, 16777215);
    object obj5 = ObjectType.IDivObj(ObjectType.BitAndObj(L2, 2130706432), 16777216);
    if ((ObjectType.ObjTst(L2, 0, false) < 0)) {
    obj5 = ObjectType.BitOrObj(obj5, 128);
    }
    object obj7 = ObjectType.SubObj(obj3, obj5);
    object obj6 = ObjectType.SubObj(obj2, obj4);
    if ((ObjectType.ObjTst(obj6, 0, false) < 0)) {
    obj7 = ObjectType.SubObj(obj7, 1);
    obj6 = ObjectType.AddObj(obj6, 16777216);
    }
    object obj8 = ObjectType.AddObj(obj6, ObjectType.MulObj(ObjectType.BitAndObj(obj7, 127), 16777216));
    if (BooleanType.FromObject(ObjectType.BitAndObj(obj7, 128))) {
    obj8 = ObjectType.BitOrObj(obj8, -2147483648l);
    }
    return obj8;
    }
    private static object zeroFill(object a, object b)
    {
    object objectValue;
    if (BooleanType.FromObject(ObjectType.BitAndObj(-2147483648l, a))) {
    objectValue = sr(ObjectType.BitOrObj(ObjectType.BitAndObj(sr(a, 1), 2147483647), 1073741824), ObjectType.SubObj(b, 1));
    }
    else {
    objectValue = sr(a, RuntimeHelpers.GetObjectValue(b));
    }
    return objectValue;
    }
    private static object sr(object x, object n)
    {
    object obj4;
    if ((ObjectType.ObjTst(n, 0, false) == 0)) {
    return RuntimeHelpers.GetObjectValue(x);
    }
    object obj3 = ObjectType.BitAndObj(x, 2147483647);
    if ((ObjectType.ObjTst(n, 31, false) == 0)) {
    obj4 = 0;
    }
    else {
    obj4 = ObjectType.IDivObj(obj3, LongType.FromObject(ObjectType.PowObj(2, n)));
    }
    if ((ObjectType.ObjTst(obj3, x, false) != 0)) {
    obj4 = ObjectType.BitOrObj(obj4, LongType.FromObject(ObjectType.PowObj(2, ObjectType.SubObj(ObjectType.SubObj(32, n), 1))));
    }
    return RuntimeHelpers.GetObjectValue(obj4);
    }
    }

    پیروز و نیک باشید
    آخرین ویرایش به وسیله hesam_a110 : دوشنبه 10 دی 1386 در 12:06 عصر دلیل: یه کوچو لو کم داشت

  5. #5
    کاربر دائمی آواتار abadanboy
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    شاهین شهر - اصفهان
    پست
    315
    خیلی وقته که دنبال چنین چیزی میگشتم ولی متاسفانه نمونه شو تو هیچ سایت فارسی پیدا نکردم و انگلیسی ها هم یا کامپوننت بود یا php ولی بلاخره درش اوردم.
    فقط اگه راجب نحوه عملکردش بتونی توضیح بدی خیلی خوب می شه

  6. #6
    VIP آواتار raravaice
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Tehran
    سن
    40
    پست
    1,944
    سلام

    منظورتون رو از عملکرد نمی فهمم عملکرد چیش؟

    یک url به عنوان ورودی بهش میدی و یه string که حاوی مقدار rank صفحه است تحویل میگیری.

    این کار مستقیم از روی سایت گوگل انجام میشه منتها نه به این راحتی .
    ظاهرا گوگل الگوریتمی داره که به هر url توسط این الکوریتم یه عدد داده میشه با مقادیر long و شما این عدد رو (تو برنامه دقت کنی پارامتر ch از کوری ارسالی به گوگل) به همراه url صفحه مورد نظر به گوگل میفرستی و پاسخ گوگل تا 3 مرحله pagerank برای شما میاد به این صورت.
    rank_1:1:1 که عدد آخر شامل pagerank فعلی شماست و 2 عدد دیگه رو فکر کنم برای آینده زاپاس نگه داشته و اگر یه صفحه عدد 10 رو رد کنه عدد دوم میره بالا که فعلا کاربردی ندارد پون فقط خود گوگل هست که فعلا ran_1:2:10 رو داره.

    حالا این عدد چطور تولید میشه بحث طولانی و مفصری داره ولی مختصرش اینه که یک ثابت داریم (رجوع شود به متغییر GOOGLE_MAGIC ) هر کدام از کاراکتر های url ارسالی شما به کد اسکی بر میگرده و بعد با این عدد AND یا OR میشه و در بعضی مواقع به مقادیر مشخصی LEFT SHIFT یا RIGHT SHIFT میشه (منظورم بیتهای عدد هست) که تمام این کارا توی توابع uadd ، mix ، sl ، sr و در پایان GOOGLECH محاسبه میشه.

  7. #7

    Thumbs up

    درود
    اینم برای راحتر تر شدن دوستان عزیز
    یه نکته که بعدا تست کردم اینکه کد C#‎ یه کوچولو ایراد داره ولی از این dll می تونید استفاده کنید

    using pagerank;

    pagerank.pagerank a = new pagerank.pagerank(TextBox1.Text);

    Response.Write(a.PageRank);
    فایل های ضمیمه فایل های ضمیمه

  8. #8
    کاربر دائمی آواتار my_blithe
    تاریخ عضویت
    آذر 1386
    محل زندگی
    ای کاش پیش خدا
    پست
    221
    میشه در مورد pageRank توضیح بدید که اصلا چی هست ؟؟؟؟

    ببخشید ها

  9. #9

  10. #10
    کاربر دائمی آواتار my_blithe
    تاریخ عضویت
    آذر 1386
    محل زندگی
    ای کاش پیش خدا
    پست
    221
    ببخشید لینک تون کار نمیکنه....

  11. #11
    VIP آواتار raravaice
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Tehran
    سن
    40
    پست
    1,944
    یج رنک روش گوگل برای اندازه‌گیری "اهمیت" صفحات است. زمانیکه تمام فاکتورهای دیگر نظیر درصد تکرار کلمات در عنوان صفحه، درصد تعداد تکرار کلمات در متن صفحه، ارزش مکانی کلمات و ... محاسبه شدند، گوگل از‍ پیج رنک برای تنظیم نتایج جستجو، استفاده می‌کند و لذا سایتهایی که مهمتر هستند به رده‌های بالاتر می‌آیند.
    دربارش جستجو کن.

    موفق باشید

  12. #12

    نقل قول: url بده گوگل pagerank تحویل بگیر "string"

    آقا حسام
    کجای کد مورد داشت اولا ؟
    دوما اگه تغییرش دادید لطف میکنید کد جدید رو هم بزارید

  13. #13
    کاربر تازه وارد آواتار gheysar14
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    همه جا زیر سایه خدا !!
    پست
    84

    نقل قول: url بده گوگل pagerank تحویل بگیر "string"

    نقل قول نوشته شده توسط hesam_a110 مشاهده تاپیک
    درود
    اینم برای راحتر تر شدن دوستان عزیز
    یه نکته که بعدا تست کردم اینکه کد C#‎ یه کوچولو ایراد داره ولی از این dll می تونید استفاده کنید

    using pagerank;

    pagerank.pagerank a = new pagerank.pagerank(TextBox1.Text);

    Response.Write(a.PageRank);
    میشه بگین چه جوری فایل dll اونو ساختین؟ من که از VB.NET استفاده میکنم اشکالی نداره از فایل dll شما استفاده کنم ( فکر می کنم با C#‎ باشه)

  14. #14
    VIP آواتار raravaice
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Tehran
    سن
    40
    پست
    1,944

    نقل قول: url بده گوگل pagerank تحویل بگیر "string"

    میشه بگین چه جوری فایل dll اونو ساختین؟ من که از VB.NET استفاده میکنم اشکالی نداره از فایل dll شما استفاده کنم ( فکر می کنم با C#‎ باشه)


    فرقی نداره. برنامه وقتی کامپایل میشه به dll دیگه مهم نیست با vb باشه یا #c منم هدفم از گذاشتن سورس بررسی نوع کار و آشنایی بیشتر با این الگوریتم توسط دوستان بود که متاسفانه فید بک خوبی نداشت.

    موفق باشید

  15. #15
    کاربر دائمی آواتار محمدامین شریفی
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    تهران - شیراز
    پست
    1,302

    نقل قول: url بده گوگل pagerank تحویل بگیر "string"

    نقل قول نوشته شده توسط raravaice مشاهده تاپیک
    میشه بگین چه جوری فایل dll اونو ساختین؟ من که از VB.NET استفاده میکنم اشکالی نداره از فایل dll شما استفاده کنم ( فکر می کنم با C#‎ باشه)
    فرقی نداره. برنامه وقتی کامپایل میشه به dll دیگه مهم نیست با vb باشه یا #c منم هدفم از گذاشتن سورس بررسی نوع کار و آشنایی بیشتر با این الگوریتم توسط دوستان بود که متاسفانه فید بک خوبی نداشت.

    موفق باشید
    استاد اتفاقا بازخورد خوبی داشت.من الان سرم شلوغ هست.دوست دارم بعدا شما کمکم کنید.
    در ضمن تو کد #c چرا از namespace های VB استفاده شده بود(بهم برخورد،البته بعدا درست میشه)اینم پروژه asp.net که دوست خوبم حسام جون کدش رو نوشته بودند.که البته با تغییرات مختصری چون:الف)اضافه کردن namespace به درون پروژه،چون اگر از نام دامنه های VB بخواهیم تو #C استفاده کنیم باید آنرا اضافه کنیم.ب)هنگام اجرا 2 خطای can not implicitly convert میداد که اینگونه درست شد:
     public string PageRank { 
    get { return C_PageRank.ToString(); }
    }

    و
        private void PR(string webSiteUrl) 
    {
    WebClient read = new WebClient();
    string result;
    UTF8Encoding enc = new UTF8Encoding();
    try {
    string reader = enc.GetString(read.DownloadData(GetRankUrl(webSite Url)));
    if (reader != "") {
    result = reader.Substring(reader.Length - 3, 2);
    result = result.Replace(":", "");
    }
    else {
    result = "0";
    }
    }
    catch (Exception ex) {
    result = "0";
    }
    C_PageRank = Convert.ToByte(result);
    }


  16. #16

    Talking نقل قول: url بده گوگل pagerank تحویل بگیر "string"

    نقل قول نوشته شده توسط my_blithe مشاهده تاپیک
    میشه در مورد pageRank توضیح بدید که اصلا چی هست ؟؟؟؟

    ببخشید ها
    پنجاه سال بعد :

    اینهایی که می گم ، شنیدم . از raravaice هم ممنون می شم اگه تاییدش کنه.

    وقت تو گوگل سرچ می کنیم ، یک سری نتیجه ها ، صفحه اول می یاد ، یک سری هم ، صفحات بعد. حالا اونهایی که اول میان دو دسته اند:

    1 - یکی اون هایی که به خود گوگل پول می دهند تا سایتشان در عملیات سرچ ، جزء نتایج اول باشد.

    2 - آنهایی که pagerank بالائی دارند . به این معنی که اگر تعداد مراجعه به سایتی ، زیاد باشد ، pagerank اش هم بالا می رود. ( منظورم از تعداد مراجعه زیاد به سایت ، مثل پنج نفر در هر روز است . البته شاید کمی ، کم گفته باشم )

    شاید بگوئید که بعضی سایت ها ، اصلا برنامه اش را هم از روی Server ، مدت زیادی است که برداشته اند ، اما باز هم جزء نتایج گوگل می آید. من به شخص فکر می کنم که این به خاطر صفحات ذخیره شده از آن سایت می باشد.

  17. #17

    Thumbs up نقل قول: url بده گوگل pagerank تحویل بگیر "string"

    نقل قول نوشته شده توسط hesam_a110 مشاهده تاپیک
    درود
    اینم برای راحتر تر شدن دوستان عزیز
    یه نکته که بعدا تست کردم اینکه کد C#‎‎ یه کوچولو ایراد داره ولی از این dll می تونید استفاده کنید

    using pagerank;

    pagerank.pagerank a = new pagerank.pagerank(TextBox1.Text);

    Response.Write(a.PageRank);
    عالی بود . ممنون . اینم یه سمپل با Asp.net & C#‎.net که توش از همین DLL استفاده شده.
    فقط میشه بگین که این DLL از سرویس کدوم سایت استفاده میکنه ؟ آیا امکان این که این DLL از کار بیوفته هست یا خیر ؟
    فایل های ضمیمه فایل های ضمیمه

  18. #18
    کاربر تازه وارد آواتار hamed2592
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    بهبهان
    پست
    41

    نقل قول: url بده گوگل pagerank تحویل بگیر "string"

    نقل قول نوشته شده توسط raravaice مشاهده تاپیک




    Dim read As WebClient = New WebClient
    Dim result As String
    Dim enc As UTF8Encoding = New UTF8Encoding
    Try
    Dim reader As String = enc.GetString(read.DownloadData(GetRankUrl(webSite Url)))
    If reader <> "" Then
    result = reader.Substring(reader.Length - 3, 2)
    result = result.Replace(":", "")
    Else : result = "0"
    End If
    Catch ex As Exception
    result = "0"
    End Try
    C_PageRank = result
    End Sub


    سلام

    کدتون خطا میده توی مرحله ی آخر که میخواد C_PageRank = result قرار بده و اگه C_PageRank رو String تعریف کنیم مقدار ml رو برمیگردونه !!!

    میشه بگین مقداری که این کد برمیگردونه چیه !!؟!؟!؟

    در واقع از آدرس صفحه ی گوگل قراره چه چیزی واکشی یا برگشت داده بشه !؟

تاپیک های مشابه

  1. Conversion from string "INSERT into stusent values('" to type 'Double' is not valid.
    نوشته شده توسط amirepsilon در بخش VB.NET
    پاسخ: 1
    آخرین پست: یک شنبه 07 بهمن 1386, 07:47 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •