منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيف نستخلص الرابط من <a class="any" href="link" - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] كيف نستخلص الرابط من <a class="any" href="link" (/showthread.php?tid=2740)

الصفحات: 1 2


كيف نستخلص الرابط من <a class="any" href="link" - سعود - 02-05-14

كيف نستخلص الرابط من
<a class="any" href="link"
اريد باستخدام htmlagilitypack


RE: كيف نستخلص الرابط من <a class="any" href="link" - vbnet - 02-05-14

-
وجدت لك هذا المثال على السريع.... باستخدام 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



RE: كيف نستخلص الرابط من <a class="any" href="link" - الشاكي لله - 02-05-14

سهل جدا ويمكن عملها باكثر من طريقة

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

انا الان ماعندي وقت اكتب امثلة لذلك اعذرني ، ابحث في قوقل بتحصل الكثير


RE: كيف نستخلص الرابط من <a class="any" href="link" - سعود - 02-05-14

بارك الله بيكم
ومعذورين
اخي الكريم vbnet
الطريقة هذي اعرفها لكن لاحظ وجود عدد اثنين اللي هو class و href لو كان a href فقط يمشي الكود مضبوط لكن والحال هذي ما ضبط معيSad


RE: كيف نستخلص الرابط من <a class="any" href="link" - سعود - 03-05-14

اتمنى اجد حل لاستبدال روابط showthread.php?555 الى روابط عادية thread-555.html
حاولت بكل الطرق ولم اتمكن من الحل فالمحاولة على منتدى vb4 الخاص بالموقع الحالي


RE: كيف نستخلص الرابط من <a class="any" href="link" - vbnet - 03-05-14

-
إذا كان المقصود وجود روابط كثيرة جرب هذا التعديل
كود :
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))



RE: كيف نستخلص الرابط من <a class="any" href="link" - سعود - 03-05-14

اخي الكريم .. كل هذا جربته
("//a[@href]")
ركز على href بينما المطلوب كل من class و href ولن يتم قنصه .


RE: كيف نستخلص الرابط من <a class="any" href="link" - vbnet - 03-05-14

(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))



RE: كيف نستخلص الرابط من <a class="any" href="link" - الشاكي لله - 03-05-14

اخي لو بسطت السؤال كان احسن

هل تريد جلب عنصر بالاعماد على ال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 



RE: كيف نستخلص الرابط من <a class="any" href="link" - سعود - 03-05-14

ياجماعة الخير اولا رسالة الخطا هي
Object reference not set to an instance of an object.

ثانيا انا احمل محتوى من المنتدى يعني صفحة كاملة .