السلام عليكم
اردت سحب بعض الكلمات من موقع و لكن المشكلة ان الكلمات غير موجودة في الكود سورس
هل يمكن سحبهم بطريقة اخرى ؟؟
هذا هو الموقع
كود :
https://www.wavo.com/channel/osn-yahala-al-oula
السلام عليكم ورحمة الله وبركاته
كود :
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
(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
ربي يحفظك يا فنان
مزيد من التألق ان شاء الله
ألا يوجد طريقة اخرى بدون ويب بروزر؟
المفروض ممكن عن طريق WebRequest او WebClient
لكن لا ادري ما مشكلة الصفحة لايتم جلب البيانات النصية منها !!
(16-11-19, 10:15 PM)3booody كتب : [ -> ]المفروض ممكن عن طريق WebRequest او WebClient
لكن لا ادري ما مشكلة الصفحة لايتم جلب البيانات النصية منها !!
انا ايضا لم استطع الوصول لبيانات الصفحة
لا اعلم ما المشكلة بضبط
الى الان احاول و للاسف لا جديد يذكر
الحل لمن يريده هنا بال 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(service, options) '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
(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(service, options) '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
فنان ك عادتك حبيبي
ربي يحفظك و مزيد من التألق ان شاء الله
اذا كان يظهر لك رسالة الخطأ التالية :
The request was aborted: Could not create SSL/TLS secure channel.
فهي بسبب انك تستخدم فريم وورك 4 او فريم وورك 4 client profile
والحل في هذي الحالة في هذا الكود فقط ضعه في حدث التحميل
كود :
ServicePointManager.Expect100Continue = True
ServicePointManager.SecurityProtocol = CType(3072, SecurityProtocolType)