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

نسخة كاملة : كيف نستخلص الرابط من <a class="any" href="link"
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
حتى اسهل المسالة حاولوا استخلاص الروابط من هذه الصفحة http://vb4arb.com/vb4/forumdisplay.php?65 اقصد روابط المواضيع بحيث استبدلها بروابط عادي لصفحات محملة.
-
أنا جربت وضع On Error Resume Next بعد For Each مباشرة لتلافي الأخطاء.........جرب
تم استخدام Distinct لحذف المكرر.....
كود :
Dim htmldoc As HtmlDocument = New HtmlDocument()
htmldoc.Load("abc.html")

Dim hrefs, classs As New List(Of String)
For Each link As HtmlNode In htmldoc.DocumentNode.SelectNodes("a")
    On Error Resume Next
    hrefs.Add(link.Attributes("href").Value)
    classs.Add(link.Attributes("class").Value)
Next
MsgBox("hrefs:" & vbNewLine & Join(hrefs.Distinct.ToArray, vbNewLine))
MsgBox("classes:" & vbNewLine & Join(classs.Distinct.ToArray, vbNewLine))
لا اخي ما ينفع استخدم الطريقة on error لاني اريد البرنامج يعمل بكل مااريد منه.
حاول تقتنص النص من المصدر التالي
كود :
view-source:http://vb4arb.com/vb4/forumdisplay.php?65
حاول تقتنص النصوص بهذا التنسيق
كود :
<a class="title" href="showthread.php?180-قوانين-كتابة-المواضيع" id="thread_title_180">قوانين كتابة المواضيع</a>

اظن ساصنع قوالب من عندي....
-
تم تعديل المثال السابق وذلك باستخدام If HtmlNode.Attributes("...") IsNot Nothing وهي الطريقة الصحيحة في مثل هذه الحالة....تم استخدام Distinct لحذف المكرر.....
كود :
Dim htmldoc As HtmlDocument = New HtmlDocument()
htmldoc.Load("abc.html")

Dim hrefs, classs As New List(Of String)
For Each link As HtmlNode In htmldoc.DocumentNode.SelectNodes("//a")
    If link.Attributes("href") IsNot Nothing Then hrefs.Add(link.Attributes("href").Value)
    If link.Attributes("class") IsNot Nothing Then classs.Add(link.Attributes("class").Value)
Next
MsgBox("hrefs:" & vbNewLine & Join(hrefs.Distinct.ToArray, vbNewLine))
MsgBox("classes:" & vbNewLine & Join(classs.Distinct.ToArray, vbNewLine))
بصراحة Regulatexpression فيها مرونة ولكن تحتاج خبرة بكل معايير البحث تم ايجاد المطلوب عبرها.
اما htmlagilitypack فهي رائعة ايضا وكالسابقة تماما لكنها تكون مفيدة اكثر مع الوسوم التي تحتوي id او النودز التي تحتوي فقط على واحد Attributes
كل هذا فقط من تجربتي وليس حصر او تقييم لها وانما لما قدرت عليه.
ولله الحمد تمكنت من تجهيز مشروع خاص لمنتديات vbuletin 4 بقيت التشطيبات الاخيرة.
وفقكم الله لكل مافيه رضاه.
الصفحات : 1 2