تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكل في regex
#1
السلام عليكم 
اردت سحب بعض الكلمات من موقع و لكن المشكلة ان الكلمات غير موجودة في الكود سورس 
هل يمكن سحبهم بطريقة اخرى ؟؟
هذا هو الموقع 
كود :
https://www.wavo.com/channel/osn-yahala-al-oula

الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

كود :
Dim divs = WebBrowser1.Document.Body.GetElementsByTagName("div")
       For Each d As HtmlElement In divs
           If d.GetAttribute("className") = "epg-number" Then
               MsgBox(d.InnerText)
           End If
       Next
الرد }}}
#3
(16-11-19, 09:15 PM)3booody كتب : السلام عليكم ورحمة الله وبركاته

كود :
Dim divs = WebBrowser1.Document.Body.GetElementsByTagName("div")
       For Each d As HtmlElement In divs
           If d.GetAttribute("className") = "epg-number" Then
               MsgBox(d.InnerText)
           End If
       Next
ربي يحفظك يا فنان 
مزيد من التألق ان شاء الله
ألا يوجد طريقة اخرى بدون ويب بروزر؟
الرد }}}
تم الشكر بواسطة: asemshahen5 , 3booody , ابراهيم ايبو
#4
المفروض ممكن عن طريق  WebRequest او   WebClient
لكن لا ادري ما مشكلة الصفحة لايتم جلب البيانات النصية منها  !!
الرد }}}
تم الشكر بواسطة: حريف برمجة , trakktour , ابراهيم ايبو
#5
(16-11-19, 10:15 PM)3booody كتب : المفروض ممكن عن طريق  WebRequest او   WebClient
لكن لا ادري ما مشكلة الصفحة لايتم جلب البيانات النصية منها  !!

انا ايضا لم استطع الوصول لبيانات الصفحة
لا اعلم ما المشكلة بضبط
الى الان احاول و للاسف لا جديد يذكر
الرد }}}
تم الشكر بواسطة: 3booody , ابراهيم ايبو
#6
الحل لمن يريده هنا بال Selenium 


أضف 3 تكست بوكس + 1 بوتون " زر "
ثم أضف هذا الكود داخل الزر




PHP كود :
Dim dr As IWebDriver
       Button1
.Enabled False
       Dim service 
As ChromeDriverService ChromeDriverService.CreateDefaultService
       service
.HideCommandPromptWindow True
       Dim options 
As New ChromeOptions
       dr 
= New ChromeDriver(serviceoptions'service, options
       dr.Navigate.GoToUrl("https://www.wavo.com/channel/osn-yahala-al-oula")
       dr.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(100)
       Dim links = dr.FindElements(By.TagName("div"))
       For Each item In links
           If item.GetAttribute("className") = ("epg-name") Then
               TextBox1.Text = (item.Text.ToString)
           End If
       Next item
       Dim ee = dr.FindElements(By.TagName("div"))
       For Each item In ee
           If item.GetAttribute("className") = ("epg-number") Then
               TextBox2.Text = (item.Text.ToString)
           End If
       Next item
       Dim eee = dr.FindElements(By.TagName("div"))
       For Each item In eee
           If item.GetAttribute("className") = ("epg-time") Then
               TextBox3.Text = (item.Text.ToString)
           End If
       Next item 





وأضف فوق ال Public Class Form1
هذا



Imports System.Text

Imports OpenQA.Selenium

Imports OpenQA.Selenium.Chrome

Imports OpenQA.Selenium.Support.UI

Imports System.Text.RegularExpressions

Imports System.Net

Imports System.IO



وطبعا ستحتاج الملفات المطلوبة لتشغيل مكتبة ال Selenium
الرد }}}
#7
(17-11-19, 04:51 PM)ابو روضة كتب :
الحل لمن يريده هنا بال Selenium 


أضف 3 تكست بوكس + 1 بوتون " زر "
ثم أضف هذا الكود داخل الزر




PHP كود :
Dim dr As IWebDriver
       Button1
.Enabled False
       Dim service 
As ChromeDriverService ChromeDriverService.CreateDefaultService
       service
.HideCommandPromptWindow True
       Dim options 
As New ChromeOptions
       dr 
= New ChromeDriver(serviceoptions'service, options
       dr.Navigate.GoToUrl("https://www.wavo.com/channel/osn-yahala-al-oula")
       dr.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(100)
       Dim links = dr.FindElements(By.TagName("div"))
       For Each item In links
           If item.GetAttribute("className") = ("epg-name") Then
               TextBox1.Text = (item.Text.ToString)
           End If
       Next item
       Dim ee = dr.FindElements(By.TagName("div"))
       For Each item In ee
           If item.GetAttribute("className") = ("epg-number") Then
               TextBox2.Text = (item.Text.ToString)
           End If
       Next item
       Dim eee = dr.FindElements(By.TagName("div"))
       For Each item In eee
           If item.GetAttribute("className") = ("epg-time") Then
               TextBox3.Text = (item.Text.ToString)
           End If
       Next item 





وأضف فوق ال Public Class Form1
هذا



Imports System.Text

Imports OpenQA.Selenium

Imports OpenQA.Selenium.Chrome

Imports OpenQA.Selenium.Support.UI

Imports System.Text.RegularExpressions

Imports System.Net

Imports System.IO



وطبعا ستحتاج الملفات المطلوبة لتشغيل مكتبة ال Selenium
فنان ك عادتك حبيبي
ربي يحفظك و مزيد من التألق ان شاء الله
الرد }}}
#8
اذا كان يظهر لك رسالة الخطأ التالية :
The request was aborted: Could not create SSL/TLS secure channel.

فهي بسبب انك تستخدم فريم وورك 4 او فريم وورك 4 client profile
والحل في هذي الحالة في هذا الكود فقط ضعه في حدث التحميل

كود :
ServicePointManager.Expect100Continue = True
       ServicePointManager.SecurityProtocol = CType(3072, SecurityProtocolType)

الرد }}}



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


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