تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف نستخلص الرابط من <a class="any" href="link"
#1
كيف نستخلص الرابط من
<a class="any" href="link"
اريد باستخدام htmlagilitypack
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#2
-
وجدت لك هذا المثال على السريع.... باستخدام htmlagilitypack
كود :
Dim htmldoc As HtmlDocument = New HtmlDocument()
'htmldoc.Load("abc.html")
htmldoc.LoadHtml("<a class='any' href='http://vb4arb.com/'>منتدى فيجوال بيسك لكل العرب</a>")
For Each link As HtmlNode In htmldoc.DocumentNode.SelectNodes("//a[@href]")
    MsgBox(link.Attributes("href").Value)
Next
الرد }}}
تم الشكر بواسطة: الشاكي لله , سعود
#3
سهل جدا ويمكن عملها باكثر من طريقة

ولي يجيد xml يقدر يتعامل معها بالرااحة ، لانها نفس طريقة استخدام مكتبة XmlDocument بالضبط

انا الان ماعندي وقت اكتب امثلة لذلك اعذرني ، ابحث في قوقل بتحصل الكثير
الرد }}}
تم الشكر بواسطة: سعود
#4
بارك الله بيكم
ومعذورين
اخي الكريم vbnet
الطريقة هذي اعرفها لكن لاحظ وجود عدد اثنين اللي هو class و href لو كان a href فقط يمشي الكود مضبوط لكن والحال هذي ما ضبط معيSad
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#5
اتمنى اجد حل لاستبدال روابط showthread.php?555 الى روابط عادية thread-555.html
حاولت بكل الطرق ولم اتمكن من الحل فالمحاولة على منتدى vb4 الخاص بالموقع الحالي
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#6
-
إذا كان المقصود وجود روابط كثيرة جرب هذا التعديل
كود :
Dim htmldoc As HtmlDocument = New HtmlDocument()
'htmldoc.Load("abc.html")
htmldoc.LoadHtml("<a class='any' href='http://vb4arb.com/'>منتدى فيجوال بيسك لكل العرب</a><a class='any' href='http://google.com/'>جوجل</a>")

Dim lst As New List(Of String)
For Each link As HtmlNode In htmldoc.DocumentNode.SelectNodes("//a[@href]")
    lst.Add(link.Attributes("href").Value)
Next
MsgBox(Join(lst.ToArray, vbNewLine))
الرد }}}
تم الشكر بواسطة:
#7
اخي الكريم .. كل هذا جربته
("//a[@href]")
ركز على href بينما المطلوب كل من class و href ولن يتم قنصه .
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#8
(03-05-14, 12:15 AM)سعود كتب : اخي الكريم .. كل هذا جربته
("//a[@href]")
ركز على href بينما المطلوب كل من class و href ولن يتم قنصه .

جرب هذا التعديل...... مع حذف ("//a[@href]") واستبدالها بـ("a") فقط
كود :
Dim htmldoc As HtmlDocument = New HtmlDocument()
'htmldoc.Load("abc.html")
htmldoc.LoadHtml("<a class='any1' href='http://vb4arb.com/'>منتدى فيجوال بيسك لكل العرب</a><a class='any2' href='http://google.com/'>جوجل</a>")

Dim hrefs, classs As New List(Of String)
For Each link As HtmlNode In htmldoc.DocumentNode.SelectNodes("a")
    hrefs.Add(link.Attributes("href").Value)
    classs.Add(link.Attributes("class").Value)
Next
MsgBox("hrefs:" & vbNewLine & Join(hrefs.ToArray, vbNewLine))
MsgBox("classes:" & vbNewLine & Join(classs.ToArray, vbNewLine))
الرد }}}
تم الشكر بواسطة: الشاكي لله
#9
اخي لو بسطت السؤال كان احسن

هل تريد جلب عنصر بالاعماد على الClass ؟

اذا كان هذا ماتريده فذلك بسيط ايضا وكما قلت يمكن ذلك بأكثر من طريقة ، ابسطها :

PHP كود :
Dim htmldoc As New HtmlAgilityPack.HtmlDocument()
htmldoc.LoadHtml("<a class='any' href='http://vb4arb.com/'>منتدى فيجوال بيسك لكل العرب</a><a class='any' href='http://google.com/'>جوجل</a>")

Dim nodes As HtmlAgilityPack.HtmlNodeCollection htmldoc.DocumentNode.SelectNodes("//a[@class='any']")
For 
Each n As HtmlAgilityPack.HtmlNode In nodes
    MessageBox
.Show(n.Attributes("href").Value)
Next 
الرد }}}
تم الشكر بواسطة:
#10
ياجماعة الخير اولا رسالة الخطا هي
Object reference not set to an instance of an object.

ثانيا انا احمل محتوى من المنتدى يعني صفحة كاملة .
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:



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


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