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

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

ipEND

Active DeveloPer
rankrankrank
إنضم
27 مارس 2013
المشاركات
649
الإعجابات
404
النقاط
63
سلام عليكم احبتي
لدي استفسار
لدي صفحة html اريد استخراج جميع الروابط التي بعد "BlockItem "
HTML:
<div class="BlockItem">
<a href="https://xxxx.com/nodelod-yevadu-2014/">


محاولاتي في vb.net
C#:
Imports System.Text.RegularExpressions
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim A As String = (New Net.WebClient).DownloadString("https://xxxx.com/category/movies/?page=2/")
        Dim B As String = "<a href=""https://xxxx.com/.*"">"



        For Each ITEM As Match In (New Regex(B)).Matches(A)

            ListBox1.Items.Add(ITEM.Groups(3))

        Next
    End Sub
End Class

حاولت كثير .
الالية
سوف اشرح لدي موقع الموقع فية عدة روابط تبداء بي وسم "BlockItem "
الرابط "https:// xxxx .com/" ثابت لا اريد تغيرة بعد "/" يتغير بحسب الموضوع المنشور فية
مثال
"https:// xxxx .com/1"
"https:// xxxx .com/2"
الخ
اريد استخراج الروابط جميعها من الصفحة التي قبل وسم "BlockItem "

وبعد استخراجها يتم وضعها في ListBox1 انا عامل هل شيء وكل تمام المشكلة في رموز ال regex
استخدمت هذا الموقع لحل المشكلة ومازالت نفس الشيء
Regex101 - online regex editor and debugger
بحثت في مصادر
Regular Expression Tutorial - Learn How to Use Regular Expressions
ونفس المشكلة
مع جزيل الشكر .
 

MSCFS

.:: مُشرف أقسام التصميم ::.
rankrankrank
إنضم
12 نوفمبر 2016
المشاركات
962
الإعجابات
1,255
النقاط
121
الإقامة
D Z
سلام عليكم احبتي
لدي استفسار
لدي صفحة html اريد استخراج جميع الروابط التي بعد "BlockItem "
HTML:
<div class="BlockItem">
<a href="https://xxxx.com/nodelod-yevadu-2014/">


محاولاتي في vb.net
C#:
Imports System.Text.RegularExpressions
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim A As String = (New Net.WebClient).DownloadString("https://xxxx.com/category/movies/?page=2/")
        Dim B As String = "<a href=""https://xxxx.com/.*"">"



        For Each ITEM As Match In (New Regex(B)).Matches(A)

            ListBox1.Items.Add(ITEM.Groups(3))

        Next
    End Sub
End Class

حاولت كثير .
الالية
سوف اشرح لدي موقع الموقع فية عدة روابط تبداء بي وسم "BlockItem "
الرابط "https:// xxxx .com/" ثابت لا اريد تغيرة بعد "/" يتغير بحسب الموضوع المنشور فية
مثال
"https:// xxxx .com/1"
"https:// xxxx .com/2"
الخ
اريد استخراج الروابط جميعها من الصفحة التي قبل وسم "BlockItem "

وبعد استخراجها يتم وضعها في ListBox1 انا عامل هل شيء وكل تمام المشكلة في رموز ال regex
استخدمت هذا الموقع لحل المشكلة ومازالت نفس الشيء
Regex101 - online regex editor and debugger
بحثت في مصادر
Regular Expression Tutorial - Learn How to Use Regular Expressions
ونفس المشكلة
مع جزيل الشكر .
كودك شبه صحيح أخي الكريم
جرب هذا :[

كود:
Dim B As String = <a href=""https://xxxx.com/[\s\S]*"">"
 
الإعجابات: ipEND

QS7S

مُميّز نُقطة لُغات البرمجة للعام 2019
rankrank
إنضم
28 يناير 2019
المشاركات
292
الإعجابات
357
النقاط
63
كود:
        Dim matches As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches("البيانات", "(?<=" & "href=""" & ").+?(?=" & """" & ")")
        For Each match As System.Text.RegularExpressions.Match In matches
            MsgBox(match.Value)
        Next
 
الإعجابات: ipEND

ipEND

Active DeveloPer
rankrankrank
إنضم
27 مارس 2013
المشاركات
649
الإعجابات
404
النقاط
63
كود:
        Dim matches As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches("البيانات", "(?<=" & "href=""" & ").+?(?=" & """" & ")")
        For Each match As System.Text.RegularExpressions.Match In matches
            MsgBox(match.Value)
        Next
شكرأأ لك اخي
اخي العزيز اين اضع الرابط الخاص بي في الكود تبعك وهل اقوم بحذف كل الكود الي انا كاتبة .؟
بصراحة صار 4 ساعات احاول بمشروعي ولم انجح وتعبت كثيرا
C#:
 Dim A As String = (New Net.WebClient).DownloadString("https://xxxx.com/category/movies/?page=2/")
 
الإعجابات: QS7S

QS7S

مُميّز نُقطة لُغات البرمجة للعام 2019
rankrank
إنضم
28 يناير 2019
المشاركات
292
الإعجابات
357
النقاط
63
شكرأأ لك اخي
اخي العزيز اين اضع الرابط الخاص بي في الكود تبعك وهل اقوم بحذف كل الكود الي انا كاتبة .؟
بصراحة صار 4 ساعات احاول بمشروعي ولم انجح وتعبت كثيرا
C#:
 Dim A As String = (New Net.WebClient).DownloadString("https://xxxx.com/category/movies/?page=2/")

استخدم السطر هاذا + الكود الي كتبته لك
Dim A As String = (New Net.WebClient).DownloadString("Hire Workers Online!")


A = البيانات

راح تستخرج النصوص مابين
href=" "

ولكن ليس بعد الوسم
 
الإعجابات: ipEND

ipEND

Active DeveloPer
rankrankrank
إنضم
27 مارس 2013
المشاركات
649
الإعجابات
404
النقاط
63
C#:
Imports System.Text.RegularExpressions
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim A As String = (New Net.WebClient).DownloadString("https:// X X X X .com/category/movies/?page=2/")



        Dim matches As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches("البيانات", "(?<=" & "href=""" & ").+?(?=" & """" & ")")
        For Each match As System.Text.RegularExpressions.Match In matches
            MsgBox(match.Value)
        Next
    End Sub
End Class
اخي انا اريد استخراج الروابط وليس النصوص لم ينجح الامر صدقني
سوف اشرح بالتفصيل المشكلة
في صفحة
https:// xxxx .com /category/movies/?page=2/
يوجد عدة روابط
اريد استخراج الروابط جميعها في ليست بوكس

توجد في الصفحة 30 رابط نفس الوسم ونفس النمط الاختلاف يأتي بعد الـ "https:// xxxx .com/ her1"
اريد استخراج جميع الروابط وهذا السورس مع الكلاس والوسم
<div class="BlockItem">
<a href="https:// xxxx .com/ nodelod-yevadu-2014/">
 

QS7S

مُميّز نُقطة لُغات البرمجة للعام 2019
rankrank
إنضم
28 يناير 2019
المشاركات
292
الإعجابات
357
النقاط
63
الإعجابات: ipEND
إنضم
18 أغسطس 2010
المشاركات
88
الإعجابات
67
النقاط
18
وعليكم السلام

يمكنك تجربه الكود هنا
كود:
Imports System
Imports System.Text.RegularExpressions
public Module regexProg
   Sub showMatch(ByVal text As String, ByVal expr As String)
      Dim mc As MatchCollection = Regex.Matches(text, expr)
        Dim m As Match

        For Each m In mc

            Console.WriteLine("The <a> tag =   " + m.Groups.Item(0).Value)
            Console.WriteLine("The <a> value =  " + m.Groups.Item(1).Value)

        Next m
   End Sub
  
   Sub Main()
      Dim str As String = "<a href=""https://xxxx.com/TEST-yevadu-2014"">"&"<a href=""https://xxxx.com/test2-yevadu-2015"">"
        showMatch(str, "<a href=""(https:\/\/xxxx\.com\/[^""]+)"">")
      
   End Sub
End Module
 

QS7S

مُميّز نُقطة لُغات البرمجة للعام 2019
rankrank
إنضم
28 يناير 2019
المشاركات
292
الإعجابات
357
النقاط
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

ابو روضة

.:: إداري النقطة العامة ::.
rankrankrankrankrankrank
إنضم
28 أكتوبر 2012
المشاركات
3,740
الإعجابات
4,242
النقاط
223
الإقامة
القاهرة
اتفضل يا أخى

C#:
 Dim url As String = "https://www.movizland.net"
        Dim wc As New WebClient
        wc.Encoding = Encoding.UTF8
        Dim html As String = wc.DownloadString(url)
        Dim doc As New HtmlAgilityPack.HtmlDocument
        doc.LoadHtml(html)
        For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//div[@class='col-lg-5th col-md-5th col-sm-5th col-xs-5th fRight']/div/a")
            ListBox1.Items.Add(n.Attributes("href").Value)
        Next
 
الإعجابات: ipEND

ipEND

Active DeveloPer
rankrankrank
إنضم
27 مارس 2013
المشاركات
649
الإعجابات
404
النقاط
63
وعليكم السلام

يمكنك تجربه الكود هنا
كود:
Imports System
Imports System.Text.RegularExpressions
public Module regexProg
   Sub showMatch(ByVal text As String, ByVal expr As String)
      Dim mc As MatchCollection = Regex.Matches(text, expr)
        Dim m As Match

        For Each m In mc

            Console.WriteLine("The <a> tag =   " + m.Groups.Item(0).Value)
            Console.WriteLine("The <a> value =  " + m.Groups.Item(1).Value)

        Next m
   End Sub
 
   Sub Main()
      Dim str As String = "<a href=""https://xxxx.com/TEST-yevadu-2014"">"&"<a href=""https://xxxx.com/test2-yevadu-2015"">"
        showMatch(str, "<a href=""(https:\/\/xxxx\.com\/[^""]+)"">")
     
   End Sub
End Module
اخي للاسف الكود تاعك لم يشتغل
كود:
    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
المشاركات
649
الإعجابات
404
النقاط
63
اتفضل يا أخى

C#:
 Dim url As String = "https://www.movizland.net"
        Dim wc As New WebClient
        wc.Encoding = Encoding.UTF8
        Dim html As String = wc.DownloadString(url)
        Dim doc As New HtmlAgilityPack.HtmlDocument
        doc.LoadHtml(html)
        For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//div[@class='col-lg-5th col-md-5th col-sm-5th col-xs-5th fRight']/div/a")
            ListBox1.Items.Add(n.Attributes("href").Value)
        Next
بارك الله فيك اخي عجبني الكود وسهل ولكن المشكلة يضهر فية مشاكل




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

ipEND

Active DeveloPer
rankrankrank
إنضم
27 مارس 2013
المشاركات
649
الإعجابات
404
النقاط
63
وعليكم السلام

يمكنك تجربه الكود هنا
كود:
Imports System
Imports System.Text.RegularExpressions
public Module regexProg
   Sub showMatch(ByVal text As String, ByVal expr As String)
      Dim mc As MatchCollection = Regex.Matches(text, expr)
        Dim m As Match

        For Each m In mc

            Console.WriteLine("The <a> tag =   " + m.Groups.Item(0).Value)
            Console.WriteLine("The <a> value =  " + m.Groups.Item(1).Value)

        Next m
   End Sub
 
   Sub Main()
      Dim str As String = "<a href=""https://xxxx.com/TEST-yevadu-2014"">"&"<a href=""https://xxxx.com/test2-yevadu-2015"">"
        showMatch(str, "<a href=""(https:\/\/xxxx\.com\/[^""]+)"">")
     
   End Sub
End Module
شكرأأ جزيلا لك اخي العزيز لم ينفع الكود فية مشاكل
 

ابو روضة

.:: إداري النقطة العامة ::.
rankrankrankrankrankrank
إنضم
28 أكتوبر 2012
المشاركات
3,740
الإعجابات
4,242
النقاط
223
الإقامة
القاهرة
الإعجابات: ipEND

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

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

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

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