تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] كل ما يخص HtmlAgilityPack
#21
(30-08-17, 03:00 PM)السندبااد كتب :
إقتباس :الله يرضى عليك اخي سعود دائما متألق

اتمنى ان الموضوع يتطور وتضاف له طرق اخرى مثل تغيير المقرء

تفضل أخي العزيز، ولا تنسانا من دعاءك في هذه الأيام الفضيلة:

ماشاء الله عليك اخى العزيز سندباد والله الواحد بيفتخر بأشخاص مثلكم
والموضوع فعلا يستحق كل هذا الاهتمام منكم لآنى أعتقد
أننا بحاجة لمعرفة كل ما يخص ما جاء فى هذا الموضع.
فجزاكم الله خيرى الدنيا والآخرة
الرد }}}
تم الشكر بواسطة: السندبااد , bidaya
#22
حاولت مع مشروع اخى سعود بموقع اخر موجود داخل المشروع لكن لم يظبط معى
ورفعته عشان أعرف أين الخطأ تحديدا واتمنى لو بصورة عشان اعرف لو تكرمتم...
وبالنسبة للاخ العزيز السندباد
من بعد اذنك ولو تكرمت من أين جلبت هذا الكود بالتحديد

PHP كود :
doc.DocumentNode.SelectSingleNode("//html/body/div[3]/div[6]/div[1]/div/div/h3")
 
      Me.Text nodeTitle.InnerText 
الرد }}}
تم الشكر بواسطة: السندبااد
#23
(30-08-17, 11:47 PM)سعود كتب :
إقتباس :المرفق مش شغال حبيبى
هل تقصد الرابط؟
ام ان المثال لم يعمل؟
على كل حال هذا هو مرفق.
وانظر لمثال الاخ السندباد هنا


لا اقصد المرفق اللى رفعته لكن للاسف مش عارف ليه لم يتم رفعه


الملفات المرفقة
.zip   Justtest.zip (الحجم : 404.04 ك ب / التحميلات : 66)
الرد }}}
تم الشكر بواسطة: السندبااد
#24
(31-08-17, 12:06 AM)سعود كتب :
إقتباس :لا اقصد المرفق اللى رفعته لكن للاسف مش عارف ليه لم يتم رفعه
معلش اخي لم افهم المشكلة
هل المرفق الذي رفعته انت لم يعمل؟
انا حملته واطلع عليه.

ياااااااااااااااه شوف الحيلةSmile
تم حذف الامتداد .mp3
المهم انظر التعديل
كود :
Imports System.Net
Imports System.Text
Public Class Form1
   Dim lst As New List(Of String)
   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
       AxWindowsMediaPlayer1.URL = lst(sender.selectedindex)
   End Sub
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim url As String = "http://www.koranmp3.com/quran/38_Mohamed-Mahmoud-Eltablawy/38_Mohamed-Mahmoud-Eltablawy_64.html"
       Dim hweb As New HtmlAgilityPack.HtmlWeb
       Dim doc As HtmlAgilityPack.HtmlDocument = hweb.Load(url, "Get")
       Dim nod As HtmlAgilityPack.HtmlNode = doc.GetElementbyId("playlist1")
       For Each h As HtmlAgilityPack.HtmlNode In nod.ChildNodes
           If h.InnerText.Trim <> "" Then
               lst.Add(h.Attributes("data-path").Value & ".mp3")
               ListBox1.Items.Add(h.InnerText.Trim)
           End If
       Next
   End Sub
End Class


الان لدينا برنامجين لكافة القراء وبقي آخر موقع  من يعدل على المثال الاخير ليكون كافة القراء.
ارجو من صاحب الموضوع تعديل العنوان ليكون مناسب لوجود امثلة جيدة.

لحظة اخي الكريم ...خلاص بعد معرفتك باستخدام htmlweb  لست بحاجة لـ webclient و  html

الله يسعدك اخى سعود ويبارك بعمرك ويرزقك جنة عرضها كعرض السموات والأرض...
حقيقى انا مفتخر بك جدا
الرد }}}
تم الشكر بواسطة: السندبااد
#25
(30-08-17, 11:29 PM)ابو روضة كتب :
وبالنسبة للاخ العزيز السندباد
من بعد اذنك ولو تكرمت من أين جلبت هذا الكود بالتحديد

PHP كود :
doc.DocumentNode.SelectSingleNode("//html/body/div[3]/div[6]/div[1]/div/div/h3")
 
      Me.Text nodeTitle.InnerText 

وضعت لك شرحاً فلاشياً بالمرفقات
ومن خلاله ستعرف كيف حصلت على الكود الذي طلبته


الملفات المرفقة
.zip   TutTitle.zip (الحجم : 1.12 م ب / التحميلات : 77)
فاعلم أنه لا إله إلا الله
الرد }}}
تم الشكر بواسطة: سعود , ابو روضة
#26
(31-08-17, 11:32 AM)السندبااد كتب :
(30-08-17, 11:29 PM)ابو روضة كتب :
وبالنسبة للاخ العزيز السندباد
من بعد اذنك ولو تكرمت من أين جلبت هذا الكود بالتحديد

PHP كود :
doc.DocumentNode.SelectSingleNode("//html/body/div[3]/div[6]/div[1]/div/div/h3")
 
      Me.Text nodeTitle.InnerText 

وضعت لك شرحاً فلاشياً بالمرفقات
ومن خلاله ستعرف كيف حصلت على الكود الذي طلبته

تسلم اخى ربنا يكرمك ويزيدك من نعيمه...
حاولت أجلب عنوان هذه الصفحة ولم تنجح معى
الصفحة

الكود

كود :
//html/body/div[1]/div[4]/div[2]/div/div/div[2]/div[2]/h1

لكن حاولت بنسخ XPath من كروم فجلبت هذا الكود ونفع

كود :
//*[@id='xo-content']/h1



وان شاء الله يكون هذا الموضوع مرجع للجميع هنا لآنكم ماشاء الله عليكم انت والأخ الجميل سعود
ربنا يزيدكم من واسع علمه ويعلمكم مالم تكونوا تعلموه
الرد }}}
تم الشكر بواسطة: سعود , السندبااد
#27
(31-08-17, 10:56 PM)سعود كتب : لبحث عن مواقع اهتمام بالقرآن اكتب بقوقل : index of /quran


حاولت مع هذا الموقع لكن مش عارف أين يكمن الخطأ تحديدا ؟



الكود


كود :
   Dim url As String = "https://download.quranicaudio.com/quran/wadee_hammadi_al-yamani/"
             Dim hweb As New HtmlAgilityPack.HtmlWeb
       Dim doc As HtmlAgilityPack.HtmlDocument = hweb.Load(url, "Get")
       Dim nod As HtmlAgilityPack.HtmlNode = doc.GetElementbyId("//pre")
       For Each h As HtmlAgilityPack.HtmlNode In nod.ChildNodes
           If h.InnerText.Trim <> "" Then
               lst.Add(h.Attributes("href").Value & ".mp3")
               ListBox1.Items.Add(h.InnerText.Trim)
           End If
       Next

لكن جربت بهذه الطريقة وجلبت كل الروابط لكنى لا احب الويب براوزر


كود :
 Dim input As HtmlElementCollection
input = WebBrowser1.Document.GetElementsByTagName("a")
For Each item As HtmlElement In input
If item.GetAttribute("href").Contains("mp3") Then
item.GetAttribute("href")
ListBox1.Items.Add(item.GetAttribute("href"))
End If
Next item
الرد }}}
تم الشكر بواسطة:
#28
(01-09-17, 03:24 AM)سعود كتب : اضافة امتداد .mp3 ليست ضرورية هنا لانها مسجلة  ولم تحذف
كود :
lst.Add(h.Attributes("href").Value & ".mp3")
make it as below:
كود :
lst.Add(h.Attributes("href").Value )


لم تنجح ايضا اخى سعود انظر


الرد }}}
تم الشكر بواسطة:
#29
(01-09-17, 04:24 AM)سعود كتب : معلش اخي لم انتبه للخطا التالي:
كود :
doc.GetElementbyId("//pre")
انا احب انك تعرف الحل بطريقتك عشان مستحيل تنساها بعد كدا.
الصفحة مافيهاش   آي دي باسم pre.
لكن فيها من دون آي دي 

الصفحة فيها  تغيير شوي وهذا فن من فنون html (من وجهة نظري يعني)
حاول فيها لحين ماالقى فيها طريقةSmile


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


كود :
 Dim nod As HtmlAgilityPack.HtmlNode = doc.DocumentNode.SelectNodes("//hr/pre")(0)
الرد }}}
تم الشكر بواسطة:
#30
(01-09-17, 04:50 AM)سعود كتب : المثال  مرفق فيه شغلة جديدة بالمثال لتعم الفائدة وهي بخصوص wmplib
كود :
Imports AxWMPLib
Public Class Form1
   Dim lst As New List(Of String)
   Dim wmp As New WMPLib.WindowsMediaPlayer
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim url As String = "https://download.quranicaudio.com/quran/wadee_hammadi_al-yamani/"
       Dim hweb As New HtmlAgilityPack.HtmlWeb
       Dim doc As HtmlAgilityPack.HtmlDocument = hweb.Load(url, "Get")
       Dim nod As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//a[@href]") 'doc.GetElementbyId("//pre")
       For r As Integer = 1 To nod.Count - 2
           lst.Add("https://download.quranicaudio.com/quran/wadee_hammadi_al-yamani/" & nod(r).Attributes("href").Value)
           ListBox1.Items.Add(nod(r).Attributes("href").Value)
       Next
   End Sub

   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
       '  wmp = New WMPLib.WindowsMediaPlayer
       wmp.URL = lst(ListBox1.SelectedIndex)
   End Sub

 
   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       wmp.controls.stop()
   End Sub
End Class


اخي الكريم ابو روضة حاول تكتشف ايش اللي انا سويت وحاول تعرف ليه وهذا بعد الاطلاع على كل القائمة من ../  الى  cover.jpg
بالصفحة طبعا اللي هي هذي
https://download.quranicaudio.com/quran/...al-yamani/

اقصد هذي
For r As Integer = 1 To nod.Count - 2
قلنا من رقم 1 لان الرقم صفر هو ../ والرقم الاخير ارتباط صورة الغلاف



والله انا ما عارف ماذا اقول لك لكن فعلا انا متعجب ان بلدنا العربى بها مبدعين بهذا الشكل...
وصدقنى والله هذا ليس ثناءاً بل هذه حقيقة ولعلمك انا كل مؤلفاتى التى قمت بها كانت تتحدث عن الإبداع والتميز " تحفيز الذات " وكأنى أعرفك منذ سنوات..
أتمنى من المشرفين أن يتم تثبيت هذا الموضوع لآن به أمثلة جميلة وستكون مرجعاً لكل من أراد " وجهه نظر "
الرد }}}
تم الشكر بواسطة: سعود , السندبااد



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


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