تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في regex
#1
السلام عليكم
ان شاء الله تكونو بألف خير يا اصدقاء

اردت سحب رابط من موقع
سحبته بالسيلنيووم تمام و لكن اردت سحبه ب HttpRequest
لاني استعمل مكتبة xnet في مشروعي اردت ان يكون متناسق
للعلم الرابط لا يظهر في سورس الصفحة



هذا رابط الموقع

كود :
http://underurl.com/5deb7cd1e365b
الرد
تم الشكر بواسطة: ابراهيم ايبو
#2
كما قلت لحضرتك بالويب براوزر وبالسيلينام سهلة لآن الصفحة 
يجب تحميلها من داخل الصفحة لآنها مشفرة

For Each firas As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
         If firas.GetAttribute("href").Contains("net-mkv") Then
             TextBox1.Text = firas.GetAttribute("href")
         End If
     Next



لكن أكيد هناك من سيعرف الحل وربنا يوفقك وانا والله حاولت معها كثير بأساليب أخرى
لكنى لم أعرف وهذه أخر محاولة كما طلبت بال HttpRequest

كود :
Dim request As HttpWebRequest = DirectCast(WebRequest.Create("http://underurl.com/5deb7cd1d3946"), HttpWebRequest)
       With request
           .Method = "GET"
           .Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
           .ContentType = "application/x-www-form-urlencoded; charset=UTF-8"
           .Host = "underurl.com"
           '.Referer = "no-referrer-when-downgrade"
           .UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
       End With
       Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
       Dim Sr As New StreamReader(response.GetResponseStream())
       Dim Source As String = Sr.ReadToEnd()
       Sr.Close()
       RichTextBox1.Text = Source
       Dim doc As New HtmlAgilityPack.HtmlDocument
       doc.LoadHtml(Source)
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//div[@class='ng-scope']/a[@ng-href]")
           TextBox1.Text = (n.Attributes("href").Value)
       Next
الرد
تم الشكر بواسطة: trakktour
#3
Heart 
(24-03-20, 12:57 PM)ابو روضة كتب :
كما قلت لحضرتك بالويب براوزر وبالسيلينام سهلة لآن الصفحة 
يجب تحميلها من داخل الصفحة لآنها مشفرة

For Each firas As HtmlElement In WebBrowser1.Document.GetElementsByTagName("a")
         If firas.GetAttribute("href").Contains("net-mkv") Then
             TextBox1.Text = firas.GetAttribute("href")
         End If
     Next



لكن أكيد هناك من سيعرف الحل وربنا يوفقك وانا والله حاولت معها كثير بأساليب أخرى
لكنى لم أعرف وهذه أخر محاولة كما طلبت بال HttpRequest

كود :
Dim request As HttpWebRequest = DirectCast(WebRequest.Create("http://underurl.com/5deb7cd1d3946"), HttpWebRequest)
       With request
           .Method = "GET"
           .Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
           .ContentType = "application/x-www-form-urlencoded; charset=UTF-8"
           .Host = "underurl.com"
           '.Referer = "no-referrer-when-downgrade"
           .UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
       End With
       Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
       Dim Sr As New StreamReader(response.GetResponseStream())
       Dim Source As String = Sr.ReadToEnd()
       Sr.Close()
       RichTextBox1.Text = Source
       Dim doc As New HtmlAgilityPack.HtmlDocument
       doc.LoadHtml(Source)
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//div[@class='ng-scope']/a[@ng-href]")
           TextBox1.Text = (n.Attributes("href").Value)
       Next

الله يحفظك يا غالي  Heart
انا ايضا احوال جاهد للحصول على حل 
ان شاء الله الاخوة يساعدوننا في هذا
الرد
تم الشكر بواسطة:
#4
وهذا الكود لآخفاء الويب براوزر ويجلب لك ما تريده بسرعة رهيبة ويمكن اسرع من HttpRequest

كود :
Public Class Form1
   Private WithEvents wb As WebBrowser
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       On Error Resume Next
       wb = New WebBrowser
       wb.ScriptErrorsSuppressed = True
       wb.Navigate("http://underurl.com/5deb7cd1d3946")
   End Sub
   Private Sub wb_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles wb.DocumentCompleted
       CType(wb, System.Windows.Forms.Control).Enabled = False
       For Each firas As HtmlElement In wb.Document.GetElementsByTagName("a")
           If firas.GetAttribute("href").Contains("net-mkv") Then
               TextBox1.Text = firas.GetAttribute("href")
           End If
       Next
   End Sub
End Class
الرد
تم الشكر بواسطة: trakktour
#5
(24-03-20, 02:30 PM)ابو روضة كتب :
وهذا الكود لآخفاء الويب براوزر ويجلب لك ما تريده بسرعة رهيبة ويمكن اسرع من HttpRequest

كود :
Public Class Form1
   Private WithEvents wb As WebBrowser
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       On Error Resume Next
       wb = New WebBrowser
       wb.ScriptErrorsSuppressed = True
       wb.Navigate("http://underurl.com/5deb7cd1d3946")
   End Sub
   Private Sub wb_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles wb.DocumentCompleted
       CType(wb, System.Windows.Forms.Control).Enabled = False
       For Each firas As HtmlElement In wb.Document.GetElementsByTagName("a")
           If firas.GetAttribute("href").Contains("net-mkv") Then
               TextBox1.Text = firas.GetAttribute("href")
           End If
       Next
   End Sub
End Class

شكراا و الله اخي العزيز الله يجعلها في ميزان حسناتك 
هذا اقضل حل 
انا كنت اتهرب من الويب بروزر و سلنيوم لانها تأخد وقت في السحب
الرد
تم الشكر بواسطة: ابو روضة



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم