تمت الإجابة استفسار بخصوص كود استدعاء روابط من صفحة ويب Regex vb.net

تم تحميل الصفحة في 1,7961530 ثانية
استفسار بخصوص كود استدعاء روابط من صفحة ويب Regex vb.net

ipEND

Active DeveloPer
rankrankrank
إنضم
27 مارس 2013
المشاركات
639
الإعجابات
402
النقاط
63
كود:
    Private Function g(ByVal link As String) As List(Of String)
        Dim c As New Net.WebClient
        Dim r As IO.StreamReader = New IO.StreamReader(c.OpenRead(link))
        Dim tag As Object = -1
        Dim Lst As New List(Of String)
        While Not r.EndOfStream
            Dim L As String
            L = If(tag = -1, r.ReadLine.ToLower, r.ReadLine)
            If L.ToLower.Contains("<div Class=""BlockItem"">".ToLower) Then
                tag = 1
            Else
                If tag = 1 Then
                    If L.Contains("href=") Then
                        Lst.Add(System.Text.RegularExpressions.Regex.Match(L, "(?<=" & "href=""" & ").+?(?=" & """" & ")").Value)
                    End If
                    tag = -1
                End If
            End If
        End While
        c.Dispose()
        r.Close()
        r.Dispose()
        Return Lst
    End Function


كود:
        Dim lst As List(Of String) = g("https://www.movizland.com/category/movies/?page=2")
        ListBox1.DataSource = lst
        Text = lst.Count.ToString
شكرأ جزيلا تعبتك معي اخي العزيز الكود الي كاتبة جدا رائع
ويفي بالغرض ولاكن لما يضهر مشفر مو مثل كود ابو روضة في المثال
 

ipEND

Active DeveloPer
rankrankrank
إنضم
27 مارس 2013
المشاركات
639
الإعجابات
402
النقاط
63
ليس هناك أى مشكل بفضل الله أخى فقط تحتاج لاضافة هذا الملف

HtmlAgilityPack
جزاك الله الف خير اخي العزيز
اشتغل

ولكن المشكلة لاتضهر الروابط كلها
ويضهر بعظ الروابط مكررة

اضفت هذا الكود في بوتن منفصل لاضهار الروابط المكررة او في حالة لا يوجد تكرار يضهر عدد الاسطر

C#:
   Dim x, y, c As Object
        Dim a, b As Integer

        For Each x In ListBox1.Items
            For Each y In ListBox1.Items
                If x = y Then
                    a += 1
                End If
            Next
            If a > b Then
                b = a

                c = x
            End If
            a = 0
        Next
        If b = 1 Then
            MessageBox.Show("عدد العناصر" & ListBox1.Items.Count.ToString() & "لايوجد تكرار")
        Else
            MessageBox.Show(c.ToString & "  is the most repeated item, it is repeated " & b & " times")
        End If
المشكلة الروابط لاتضهر كلها
 

QS7S

مُميّز نُقطة لُغات البرمجة للعام 2019
rankrank
إنضم
28 يناير 2019
المشاركات
292
الإعجابات
357
النقاط
63
شكرأ جزيلا تعبتك معي اخي العزيز الكود الي كاتبة جدا رائع
ويفي بالغرض ولاكن لما يضهر مشفر مو مثل كود ابو روضة في المثال



كود:
    Private Function deEnc(ByVal link As String) As String
        Return System.Web.HttpUtility.UrlDecode(link, Encoding.UTF8) ' system.web <<
    End Function
    Private Function g(ByVal link As String) As List(Of String)
        Dim c As New Net.WebClient
        Dim r As IO.StreamReader = New IO.StreamReader(c.OpenRead(link))
        Dim tag As Object = -1
        Dim Lst As New List(Of String)
        While Not r.EndOfStream
            Dim L As String
            L = If(tag = -1, r.ReadLine.ToLower, r.ReadLine)
            If L.ToLower.Contains("<div Class=""BlockItem"">".ToLower) Then
                tag = 1
            Else
                If tag = 1 Then
                    If L.Contains("href=") Then
                        Lst.Add(deEnc(System.Text.RegularExpressions.Regex.Match(L, "(?<=" & "href=""" & ").+?(?=" & """" & ")").Value))
                    End If
                    tag = -1
                End If
            End If
        End While
        c.Dispose()
        r.Close()
        r.Dispose()
        Return Lst
    End Function

كود:
       Dim lst As List(Of String) = g("https://www.movizland.com/category/movies/?page=2")
        ListBox1.DataSource = lst
        Text = lst.Count.ToString

لفك الترميز تحتاج اضافة مكتبة system.web

(Add > Refernce > (system.web
 
الإعجابات: ipEND
إنضم
27 مارس 2013
المشاركات
639
الإعجابات
402
النقاط
63
كود:
    Private Function deEnc(ByVal link As String) As String
        Return System.Web.HttpUtility.UrlDecode(link, Encoding.UTF8) ' system.web <<
    End Function
    Private Function g(ByVal link As String) As List(Of String)
        Dim c As New Net.WebClient
        Dim r As IO.StreamReader = New IO.StreamReader(c.OpenRead(link))
        Dim tag As Object = -1
        Dim Lst As New List(Of String)
        While Not r.EndOfStream
            Dim L As String
            L = If(tag = -1, r.ReadLine.ToLower, r.ReadLine)
            If L.ToLower.Contains("<div Class=""BlockItem"">".ToLower) Then
                tag = 1
            Else
                If tag = 1 Then
                    If L.Contains("href=") Then
                        Lst.Add(deEnc(System.Text.RegularExpressions.Regex.Match(L, "(?<=" & "href=""" & ").+?(?=" & """" & ")").Value))
                    End If
                    tag = -1
                End If
            End If
        End While
        c.Dispose()
        r.Close()
        r.Dispose()
        Return Lst
    End Function

كود:
       Dim lst As List(Of String) = g("https://www.movizland.com/category/movies/?page=2")
        ListBox1.DataSource = lst
        Text = lst.Count.ToString

لفك الترميز تحتاج اضافة مكتبة system.web

(Add > Refernce > (system.web
اخي ممكن اتواصل معك على الرسائل عندي موضوع وحابب اطرحة على حضرتك
الرسائل الخاصة تبعك مغلقة
 
الإعجابات: QS7S

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل