منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كل ما يخص HtmlAgilityPack
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4 5 6
السلام عليكم ورحمة الله وبركاته.
ممكن اخوتى الكرام شخص ابن حلال يعملنا شرح فيديو لهذه الخاصية
وازاى مثلا اجيب كل الكلام اللى موجود هنا فى ليست بوكس



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

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

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

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

فقط انا عاوز اعرف ازاى اجلب نص عربى من اى موقع بال Regex 
(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)'>" 
(28-08-17, 07:38 PM)سعود كتب : [ -> ]طيب لحظة اخش الوين10
واعمل شرح بسيط و ارجو ان يفيدك بشيء

ربنا يعزك اخى ويبارك بعمرك واتمنى يكون مبسط وسهل كما تعودنا منك تبسيط المعلومة
(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
السلام عليكم ورحمة الله وبركاته
أفضل طريقة كما تفضل الأخ سعود هي 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
(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
؟؟ على اساس لما اجى اعمل اى برنامج مثلهم اكون فاهم انا بعمل ايه......
ومع ذلك لا اريد اتعابكم اكثر لانى قولت فى البداية اننا لا اريد شيئ جاهز بل اريد الفهم
لكن يبدو ان الوقت وقف عائقا امامكم لعمل شرح مبسط.
أخي العزيز أبو روضة أنصحك بمتابعة درس الشاكي لله الذي أشار له الأخ سعود حتى تفهم كل شيء
وبالنسبة لسؤالك عن التاجات، فالجواب في الصورة التالية:
[attachment=15263]
اول تجربة لاقتناص جزء من ردى الاخير

(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
الصفحات : 1 2 3 4 5 6