تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] كل ما يخص HtmlAgilityPack
#1
Heart 
السلام عليكم ورحمة الله وبركاته.
ممكن اخوتى الكرام شخص ابن حلال يعملنا شرح فيديو لهذه الخاصية
وازاى مثلا اجيب كل الكلام اللى موجود هنا فى ليست بوكس



انا مش عاوز اجيب الكلام داخل المشروع ولا عاوز حاجة جاهزة لالالا انا بس عاوز افهمها
لآن من الواضح أنها بتوفر الكثير والكثير...
فلو سمحتم ممكن شرح مبسط لها ؟ انا عارف ان فيه شروحات كتير على النت لكن
للأسف لم أفهم أى شيئ منها وأنا اريد شرح بسيط لها كى افهمها فقط.
وجزاكم الله كل خير
الرد }}}
تم الشكر بواسطة: السندبااد
#2
(28-08-17, 01:50 AM)سعود كتب : الفكرة هي البحث ضمن مصدر الصفحة  لكن!!! .... لازم تستخدم برنامج تطبق عليه ولا تدخل مباشرة بمصادر الصفحات.

[مقال] شرح التعابير القياسية Regex
معلومة ::: Regular Expressions
مختبر RegEx بسيط جداً Heart

اذا فعلا اردت فهمها فهذه اهم ما يمكنني قول ان تبدا به اما لو احببت مصار انجليزية فهذا شيء آخرSmile

يعنى ايه اخى هذه الجملة " لازم تستخدم برنامج تطبق عليه ولا تدخل مباشرة بمصادر الصفحات. "؟؟

فقط انا عاوز اعرف ازاى اجلب نص عربى من اى موقع بال Regex 
الرد }}}
تم الشكر بواسطة:
#3
(28-08-17, 04:49 AM)سعود كتب :
إقتباس :يعنى ايه اخى هذه الجملة " لازم تستخدم برنامج تطبق عليه ولا تدخل مباشرة بمصادر الصفحات. "؟؟

خلا ص انسى اللي كتبتSmile ركز على الروابط و بسSmile 
وممكن تبحث باليوتيوب

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

http://suratmp3.com/modules/mp3Quran/reciter/11/
PHP كود :
Dim Pattern As String "title-data='(.+?)'\ssound-data='(.+?\.mp3)'>" 
الرد }}}
تم الشكر بواسطة:
#4
(28-08-17, 07:38 PM)سعود كتب : طيب لحظة اخش الوين10
واعمل شرح بسيط و ارجو ان يفيدك بشيء

ربنا يعزك اخى ويبارك بعمرك واتمنى يكون مبسط وسهل كما تعودنا منك تبسيط المعلومة
الرد }}}
تم الشكر بواسطة:
#5
(28-08-17, 08:57 PM)سعود كتب :
(28-08-17, 07:43 PM)ابو روضة كتب :
(28-08-17, 07:38 PM)سعود كتب : طيب لحظة اخش الوين10
واعمل شرح بسيط و ارجو ان يفيدك بشيء

ربنا يعزك اخى ويبارك بعمرك واتمنى يكون مبسط وسهل كما تعودنا منك تبسيط المعلومة

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




يا غالى بالعكس انا حتى دخلت قناتك وشاهدت كام فيديو وصراحة حاجة جميلة والله
 ومفهومة لكن مش عارف ليه مش بتنزل شروحات جديدة ؟؟ المهم !!
انا كل اللى طالبه هو ازاى اعرف أجلب النصوص من داخل أى موقع أو بمعنى أدق واختصارا
لماذا جلب هذه الرموز "title-data='(.+?)'\ssound-data='(.+?\.mp3)'>" 
من داخل هذا التاجالhtml 

PHP كود :
<span class="" title-data="سورة النحل" sound-data="http://archive.org/download/fm_002_20150413_1147/016.mp3">سورة النحل</span
الرد }}}
تم الشكر بواسطة:
#6
السلام عليكم ورحمة الله وبركاته
أفضل طريقة كما تفضل الأخ سعود هي HtmlAgilityPack وللأسباب التي شرحها الأخ الشاكي لله في موضوعه

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

كود :
       Dim url As String = "http://www.mp3quran.net/tnjy.html"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)
       Dim doc As New HtmlAgilityPack.HtmlDocument
       html = WebUtility.HtmlDecode(html)
       doc.LoadHtml(html)
       Dim nod As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//table/tr")
       Dim nodeTitle As HtmlAgilityPack.HtmlNode = doc.DocumentNode.SelectSingleNode("//html/body/div[3]/div[6]/div[1]/div/div/h3")
       Me.Text = nodeTitle.InnerText
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//td[4]/a")
           lst.Add(n.Attributes("href").Value)
       Next
       For Each n2 As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//td[2]")
           If n2.InnerText.Contains("السورة") = False Then
               ListBox1.Items.Add(n2.InnerText)
           End If
       Next
فاعلم أنه لا إله إلا الله
الرد }}}
تم الشكر بواسطة: ابو روضة , سعود
#7
(29-08-17, 09:58 AM)سعود كتب :

كود :
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.mp3quran.net/tnjy.html"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)
       Dim doc As New HtmlAgilityPack.HtmlDocument
       html = WebUtility.HtmlDecode(html)
       doc.LoadHtml(html)
       Dim nod As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//table/tr")
       For r As Integer = 1 To nod.Count - 1
           For Each n As HtmlAgilityPack.HtmlNode In nod(r).SelectNodes("//td[4]/a")
               lst.Add(n.Attributes("href").Value)
           Next
           For Each n2 As HtmlAgilityPack.HtmlNode In nod(r).SelectNodes("//td[2]")
               If n2.InnerText.Contains("السورة") = False Then
                   ListBox1.Items.Add(n2.InnerText)
               End If
           Next
       Next
   End Sub
End Class
هذا مثال لقاريء واحد

(29-08-17, 06:21 PM)السندبااد كتب :
السلام عليكم ورحمة الله وبركاته
أفضل طريقة كما تفضل الأخ سعود هي HtmlAgilityPack وللأسباب التي شرحها الأخ الشاكي لله في موضوعه

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

كود :
       Dim url As String = "http://www.mp3quran.net/tnjy.html"
       Dim wc As New WebClient
       wc.Encoding = Encoding.UTF8
       Dim html As String = wc.DownloadString(url)
       Dim doc As New HtmlAgilityPack.HtmlDocument
       html = WebUtility.HtmlDecode(html)
       doc.LoadHtml(html)
       Dim nod As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//table/tr")
       Dim nodeTitle As HtmlAgilityPack.HtmlNode = doc.DocumentNode.SelectSingleNode("//html/body/div[3]/div[6]/div[1]/div/div/h3")
       Me.Text = nodeTitle.InnerText
       For Each n As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//td[4]/a")
           lst.Add(n.Attributes("href").Value)
       Next
       For Each n2 As HtmlAgilityPack.HtmlNode In doc.DocumentNode.SelectNodes("//td[2]")
           If n2.InnerText.Contains("السورة") = False Then
               ListBox1.Items.Add(n2.InnerText)
           End If
       Next

والله يا اخوتى جزاكم الله كل خير...
لكن انا عندى برامج كثيرة وعندى معظم مشاريعك اخى سعود بما فيهم مثال الحفظ الذى يضم
كل القراء لكن انا عاوز افهم مش عاوز حاجة جاهزة يعنى مثلا ليه حطيت هذا الكود فى مثالك ("//td[4]/a وهذا ("//td[2
؟؟ على اساس لما اجى اعمل اى برنامج مثلهم اكون فاهم انا بعمل ايه......
ومع ذلك لا اريد اتعابكم اكثر لانى قولت فى البداية اننا لا اريد شيئ جاهز بل اريد الفهم
لكن يبدو ان الوقت وقف عائقا امامكم لعمل شرح مبسط.
الرد }}}
تم الشكر بواسطة: السندبااد
#8
أخي العزيز أبو روضة أنصحك بمتابعة درس الشاكي لله الذي أشار له الأخ سعود حتى تفهم كل شيء
وبالنسبة لسؤالك عن التاجات، فالجواب في الصورة التالية:
   
فاعلم أنه لا إله إلا الله
الرد }}}
تم الشكر بواسطة: سعود , ابو روضة , bidaya
#9
اول تجربة لاقتناص جزء من ردى الاخير

الرد }}}
تم الشكر بواسطة: سعود , السندبااد
#10
(29-08-17, 08:46 PM)سعود كتب :
(29-08-17, 08:14 PM)ابو روضة كتب :
اول تجربة لاقتناص جزء من ردى الاخير

ماشاء الله
باي تقنية Regex Or html
ممكن الكودSmile


بمتابعة شرح الاخ الشاكى وفهم جزئيات من شرحكم هنا الان

كود :
Dim url As String = "http://vb4arb.com/vb/showthread.php?tid=21515&page=2"
       Dim hWeb As HtmlAgilityPack.HtmlWeb = New HtmlAgilityPack.HtmlWeb
       Dim doc As HtmlAgilityPack.HtmlDocument = hWeb.Load(url, "GET")
       Dim node As HtmlAgilityPack.HtmlNode = doc.DocumentNode.SelectNodes("//*[@id='pid_104835']/div[1]")(0)
       Label1.Text = node.InnerText
بحب اتعامل انا جدا مع XPath
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: